a = [1, 2, 3, 4, 5, 6, 7, 8, 9] x = a[4:] # x = [5, 6, 7, 8, 9] x = a[:3] # x = [1, 2, 3] x = a[:] # x = [1, 2, 3, 4, 5, 6, 7, 8, 9] x = a[2:7] # x = [3, 4, 5, 6, 7] x = a[2:7:2] # x = [3, 5, 7] x = a[-5:] # x = [5, 6, 7, 8, 9] x = a[:-3] # x = [1, 2, 3, 4, 5, 6] x = a[::-1] # x = [9, 8, 7, 6, 5, 4, 3, 2, 1] x = a[5:1] # x = [] 默认的列表产生方式为从左到右,列表索引 a 在 b 之后会返回空列表 x = a[5:1:-1] # x = [6, 5, 4, 3] x = a[-1:-5] # x = [] 新列表的产生方式只与步长值的正负有关而与索引的查询方式无关
关于元素的索引的操作
1 2 3 4
a = [1, 1, 3, 4, 5, 5, 6] i = a.index(5) # i = 4,返回第一个值为 5 的元素的索引 n = a.count(5) # n = 2,返回值为 5 的元素的个数 n = len(a) # n = 6,返回列表的元素数量
查询元素是否在列表中
1 2
1in a # 若 1 在列表 a 中返回 True,否则返回 False 1notin a # 若 1 不在列表 a 中返回 True,否则返回 False
Todo: 返回列表全部元素的索引
添加元素
1 2 3 4 5 6
a.append(x) # 在列表末尾添加元素 x,每次只能添加一个 a.insert(i, x) # 在列表索引的 i 位置,添加元素 x,每次只能添加一个 a.extend([a, b, c]) # 在列表末尾添加一个新列表(直接合并元素) a += [1, 2, 3] # 在列表末尾添加一个新列表(直接合并元素)(列表可以相加,结果为一个新列表) a = [1, 2, 3] a *= 2# a = [1, 2, 3, 1, 2, 3],将列表元素复制两份
删除元素
1 2 3 4 5 6 7
a = [1, 2, 3, 4, 5, 5, 7, 8, 9] x = a.pop() # x = 9, a = [1, 2, 3, 4, 5, 5, 7, 8],删除最后一个元素并返回这个元素 x = a.pop(3) # x = 4, a = [1, 2, 3, 5, 5, 7, 8],删除索引为 3 的元素并返回它 a.remove(5) # a = [1, 2, 3, 5, 7, 8],删除第一个值为5的元素,不返回任何数据 del a[2] # a = [1, 2, 5, 7, 8],删除索引值为 2 的元素 a.clear() # a=[],清空列表中全部元素 del a # a不再存在,删除列表,直接取消了定义
Todo: 删除全部元素
Todo: 按索引值列表删除全部元素
修改元素
1 2 3 4 5
a = [1, 2, 3] a[0] = 2# a = [2, 2, 3],修改指定索引对应的元素 a[0:1] = [0,1] # a = [0, 1, 3],通过切片修改对应的元素 a.reverse() # a = [3, 1, 0],将 a 中的元素按索引值反向 b = list(reversed(a)) # a = [3, 1, 0], b = [0, 1, 3],返回 a 反向后的列表而保持 a 不变