• 第四节课:列表


    一、特点:

    1. 有序集合
    2. 通过偏移量索引
    2. 支持嵌套
    3. 是可变的类型

    a = [1,2, 3,4,5]
    a[-1]
    a = [[1,2],["a","b"]]
    a[0] = [3,4]

    1. 切片
    a = [1,2,3,4,5,6,7]

    正向切片
    反向索引
    默认索引

    # 注意步骤长前面仍是冒号

    a[0:4:1] # 正向
    a[-1:-4:-1] # 反向
    a[1::2] # 默认值为总长度
    a[0::2]

    二、添加操作
    1. + 生成一个新的列表
    2. Extend 接受参数并将该参数的每个元素添加到原有的列表中,原地修改列表,而不是新建列表
    3. Append:添加任意对象到列表的末端
    4. Insert: 插入任意对象到列表中,可以控制位置

    a = [1,2,3]
    b = [4,5,6]
    a + b
    a.extend(b)

    三、列表的修改操作
    修改列表本身只需要直接赋值操作即可
    a = [1,2,3]
    a[0] = 'haha'

    四、删除操作
    1. Del: 我们通过索引删除指定位置的元素
    2. Remove:移除列表中指定值的第一个匹配值. 如果没有,则返回
    3. Pop: 返回最后一个元素,并从列表中删除

    a = [1,2,3,4,5,4]
    del a[0]
    a.del(a[0]) 错误

    a.remove(4)
    a.remove(6) 异常

    a.pop()

    五、成员关系
    in not in 可以判断一个元素是否在列表里面
    返回一个bool类型, 元素在列表里返回True, 否则返回False

    六、列表推导式
    [expr for iter_var in iterable]
    首先迭代 iterable里面所有内容, 每一次迭代, 都把iterable 里相应内容放到iter_var中,表达式中应用iter_var生成一个列表.

    [x+2 for x in range(1,11)]
    range(1,11)


    [expr for iter_var in iterable if cond_expr]
    加入了判断语句,只有满足条件才把iterable中内容提取赋予 iter_var, 然后表达式中应用生成一个列表.

    range(1,11,2)
    [x for x in range(1,11) if x % 2 == 1]


    七、排序翻转:sort reverse

    这个方式直接修改原里列表. 他的返回值为none.

    a = [11,2,34,128]
    b = a.sort()
    print a, b

    c a.reverse()
    print a, c

  • 相关阅读:
    Adapter 适配器模式
    词法分析器的作用
    文法、语言、正则表达式
    基于Windows的套接字相关函数及示例
    迭代器和生成器
    反射的使用
    hasattr、getattr、setattr反射
    socket建立tcp、udp链接
    异常处理
    描述符——类型检测,待补充……
  • 原文地址:https://www.cnblogs.com/huiming/p/5510565.html
Copyright © 2020-2023  润新知