Python容器篇 2 -- 列表

列表

list = [item1, item2, ...]

  • 如何定义空列表

    1. em_list = list()
    2. em_list = []
    
  • 如何遍历一个列表

# for循环
for i in alist:
      print(i)

# while循环
i = 0
while i < len(alist):
      print(alist[i])
      i += 1

和字符串一样, 列表既支持下标/索引, 同时也支持切片

从 增删改查 4个角度梳理列表常用的操作方法

修改元素

  • 列表名[下标] = 新的元素值

添加元素

  1. 列表名.append(元素值)

    • 追加到列表的尾部
  2. 列表名.insert(index, 元素值)

    • 可以在列表的任意位置插入
    • index代表要插入的下标位置
  3. 列表名.extend(可迭代对象)

    • 把可迭代对象遍历出来后, 一个一个放在列表尾部

append, insert, extend 这些函数都会直接操作原列表, 而且函数的返回值为 None

查找元素

和字符串不同, 列表不存在find方法 (字符串独占)

  1. 列表名.index(元素值)
    • 返回元素所在位置的下标
  2. 列表名.count(元素值)
    • 统计同一个元素出现的总次数, 返回出现次数
  3. 元素 in/not in 列表名
    • 判断元素在不在列表中
    • 返回布尔值 True/False

删除元素

  1. 列表名.remove(元素)

    • 根据元素值删除
    • 删除不存在的数据时, 会直接报错
    • 返回值 None
  2. del 列表名[下标]

    • 根据下标删除
    • 后边的元素会自动向前移动
  3. 列表名.pop(下标)

    • 根据下标删除
  4. 列表名.pop()

    • 默认删除列表最后一个元素
    • 会将被删除的元素返回出来
    • 需要从列表中取数据, 同时缩短列表的情况下使用

remove, del, pop 这三种方法都是会直接操作原列表, remove返回None, pop返回被删除的元素值

列表排序

  1. 直接操作原列表
    • 升序排序 list.sort()
    • 降序排序 list.sort(reverse=True)
  2. 不修改原列表, 而是返回一个新列表
    • 函数 sorted(list)

列表逆置(反转)

注意: 反转与大小排序无关, 只是单纯的倒过来

  1. 直接操作原列表
    • list.reverse()
  2. 不修改原列表, 而是返回一个新的列表
    • list[::-1] 用上了切片 步长 -1

列表嵌套

列表中有的的元素还是列表

嵌套的外层还是按照列表的正常操作去做, 而内层则需要双重下标才能访问的到

列表 list = [..., alist, ...] 的第i个元素是 alist

那么就需要用 list[i][j] 去访问 alist的第j个元素

原文地址:https://www.cnblogs.com/sn0wp3ak/p/13823341.html