Python 基础知识整理 - 数据类型 - 列表
列表可以将各种类型数据组合在一起,各个值以逗号分割放在方括号中。
例如:
nums = [1, 3,'A', 7, 9] print(nums) |
运行结果:
[1, 3, 'A', 7, 9] |
与字符串(以及所有其他内置序列类型)一样,列表可以索引和切片:
nums = [1, 3,5, 7, 9] print(nums[0]) print(nums[-1]) print(nums[-3:]) |
运行结果:
1 9 [5, 7, 9] |
所有切片操作都返回一个包含请求元素的新列表。这意味着以下切片将返回列表的深拷贝(官网写的浅拷贝应该是笔误):
a = [1, 4, 9, 16, 25] b = a[:] print(b) a[0]=-1 print(b) |
运行结果:
[1, 4, 9, 16, 25] [1, 4, 9, 16, 25] [-1, 4, 9, 16, 25] |
由此例可以看出,不同于不可变的字符串,列表是可变的类型,即可以更改其内容。
列表还支持连接操作:
a = [1, 2, 3, 4, 5] b = a + [11, 13, 15, 17, 19] print(b) |
运行结果:
[1, 2, 3, 4, 5, 11, 13, 15, 17, 19] |
还可以使用 append() 方法在列表末尾添加新元素:
a =[1,3,5,7] a.append(9) a.append(11) print(a) |
运行结果:
[1, 3, 5, 7, 9, 11] |
也可以对切片进行赋值,甚至可以通过这种方式更改列表的大小或完全清除列表:
nums = [11,12,13,14,15,16,17] nums[2:5] = [21, 22, 23] print(nums) nums[2:5] = [] print(nums) nums[:] = [] print(nums) |
运行结果:
[11, 12, 21, 22, 23, 16, 17] #对切片赋值 [11, 12, 16, 17] #清除切片 [] #清除列表 |
内置函数 len() 返回列表长度:
nums = [1,2,3,4] print(len(nums)) |
运行结果:
4 |
可以嵌套列表(创建包含其他列表的列表),例如:
a = [33, 44, 55] b = [1, 2, 3] c = [a, b] print(c) print(c[0]) print(c[0][1]) |
运行结果:
[[33, 44, 55], [1, 2, 3]] [33, 44, 55] 44 |
参考:
https://docs.python.org/3.9/tutorial/introduction.html




