1 列表
列表由一系列按照特定顺序的元素组成,其中的元素可以使不同的数据类型,用[ ]来表示列表,用逗号来分割列表中的元素。
1.1 列表操作之切片
1 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 2 print(a[1:3]) # [2, 3] 前闭后开 3 print(a[1:]) # [2, 3, 4, 5, 6, 7, 8, 9, 10] 4 print(a[1:-1]) # [2, 3, 4, 5, 6, 7, 8, 9] 5 print(a[-1]) # 10 6 print(a[1:4:2]) # [2, 4] 7 print(a[3:0:-2]) # [4, 2]
列表的切片操作可以进行两个列表的简单拷贝
a = [1,2,3,4,5]
b = a[:]
1.2 列表操作之增
1 # 1 append方法 2 a = [x for x in range(10)] 3 print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 4 a.append(10) # 将数据添加到列表的-1位置 5 print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 6 # 2 insert方法 7 a.insert(3, 11) # 第一个参数是索引,的二个参数是添加的数据 8 print(a) # [0, 1, 2, 11, 3, 4, 5, 6, 7, 8, 9, 10]
1.3 列表操作之删
1 a = [x for x in range(10)] 2 print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3 a.remove(9) # 将索引为9的元素删除 4 print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8] 5 b = a.pop(8) # 将索引为8的元素从列表中弹出,并将弹出的元素返回 6 print(a) # [0, 1, 2, 3, 4, 5, 6, 7] 7 print(b) # 8 8 del a[0] # 将索引为0的元素删除 9 print(a) # [1, 2, 3, 4, 5, 6, 7] 10 a[0:3] = [] 11 print(a) # [4, 5, 6, 7] 12 a.clear() 13 print(a) # [] 14 del a
1.4 列表操作之改
1 a = [i for i in range(10)] 2 print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3 a[0] = 10 4 print(a) # [10, 1, 2, 3, 4, 5, 6, 7, 8, 9] 5 a[3:6] = ['a', 'b', 'c'] 6 print(a) # # [10, 1, 2, 'a', 'b', 'c', 6, 7, 8, 9]
1.5 列表内置方法之count()
a = [1, 2, 4, 1, 9, 1, 0, 1] b = a.count(1) # 计算传入的参数在列表中出现的次数 print(b) # 4
1.6 列表内置方法之extent()
a = [1, 2, 3] b = [4, 5, 6] a.extend(b) # 将列表b添加到列表a中 print(a) # [1, 2, 3, 4, 5, 6]
1.7 列表内置方法之index()
a = [1, 2, 3, 4, 5, 6] b = a.index(4) # 获取参数中的数据在列表a中的索引位置,并返回 print(b) # 3
1.8 列表内置方法之reverse()
a = [1, 2, 3, 4, 5, 6] a.reverse() print(a) # [6, 5, 4, 3, 2, 1]
1.9 列表内置方法之sort()
1 a = ['B', 'n', 'd', 'o', 'A'] 2 a.sort() # 按照ASCII码排序,正序 3 print(a) # ['A', 'B', 'd', 'n', 'o']
1.10 列表内置方法之copy()
1 a = [1, 2, 3, 4, 5] 2 b = a.copy() # 只是浅拷贝 3 print(b) # [1, 2, 3, 4, 5] 4 5 # 浅拷贝 6 a = [[1, 2, 3], 4, 5, 6] 7 b = a.copy() 8 a[0][0] = 2 9 print(b) # [[2, 2, 3], 4, 5, 6] 修改a,b也发生改变
2 元组
2.1 创建元组
1 tup1 = (1, 2, 3,) 2 tup2 = (1, ) # 如果元组里只包含一个元素,则在元素后面加逗号 3 print(tup1) 4 print(tup2)
2.2 注意事项
元组是不可变数据类型,不可修改,但是可以重新赋值。
因为元组是不可变数据类型,因此元组可以作为字典的键使用
元组可以作为许多内建函数和方法的返回值
元组只有两个内置方法count和index
元组内嵌入可变数据类型像列表,可以修改列表中的值
1 a = ([1, 2, 3], 4, 5) 2 a[0][0] = 0 3 print(a) # ([0, 2, 3], 4, 5)