51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2248|回复: 0
打印 上一主题 下一主题

关于列表操作的主要方法

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-12-3 18:01:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1)排序与翻转:
    代码:
    names = ["Alex","Tenglan","Eric","Rain","Tom","Amy","Tom"]
    names.append('bonnie')
    del names[1]
    names.pop(-1)
    b=['6','5','4','1','2','3']
    names.extend(b)
    a=names.count("Tom")
    names.sort()
    print(names)
    names.reverse()
    print(names)
    结果:
    ['1', '2', '3', '4', '5', '6', 'Alex', 'Amy', 'Eric', 'Rain', 'Tom', 'Tom']
    ['Tom', 'Tom', 'Rain', 'Eric', 'Amy', 'Alex', '6', '5', '4', '3', '2', '1']

    2)获取下标
    print(names.index('Amy'))
    返回4  #只返回找到的第一个下标

    3)切片(取多个元素):
    names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
    >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
    ['Tenglan', 'Eric', 'Rain']
    >>> names[1:-1] #取下标1至-1的值,不包括-1
    ['Tenglan', 'Eric', 'Rain', 'Tom']
    >>> names[0:3]
    ['Alex', 'Tenglan', 'Eric']
    >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
    ['Alex', 'Tenglan', 'Eric']
    >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
    ['Rain', 'Tom', 'Amy']
    >>> names[3:-1] #这样-1就不会被包含了
    ['Rain', 'Tom']
    >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
    ['Alex', 'Eric', 'Tom']
    >>> names[::2] #和上句效果一样
    ['Alex', 'Eric', 'Tom']

    4)追加
    >>> names
    ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
    >>> names.append("我是新来的")
    >>> names
    ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

    5)插入
    >>> names
    ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    >>> names.insert(2,"强行从Eric前面插入")
    >>> names
    ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

    >>> names.insert(5,"从eric后面插入试试新姿势")
    >>> names
    ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

    6)修改
    >>> names
    ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    >>> names[2] = "该换人了"
    >>> names
    ['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

    7)删除
    >>> del names[2]
    >>> names
    ['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    >>> del names[4]
    >>> names
    ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    >>>
    >>> names.remove("Eric") #删除指定元素
    >>> names
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
    >>> names.pop() #删除列表最后一个值
    '我是新来的'
    >>> names
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

    8)扩展
    >>> names
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
    >>> b = [1,2,3]
    >>> names.extend(b)
    >>> names
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

    9)拷贝
    >>> names
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

    >>> name_copy = names.copy()
    >>> name_copy
    ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

    10)统计
    >>> names
    ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
    >>> names.count("Amy")
    2


    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 12:53 , Processed in 0.059489 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表