1. 列表介绍
- 说明:支持多种 复合 数据类型,可将不同值组合在一起。最常用的 列表 ,是用方括号标注,逗号分隔的一组值。列表 可以包含不同类型的元素,但一般情况下,各个元素的类型相同。注:列表是可变类型
2. 常见操作
添加元素("增"append, extend, insert)
- append():末尾追加
- extend(iterable):将另一个集合中的元素逐一添加到列表中
- insert(index, object) :在指定位置index前插入元素object
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. # 定义空列表A 6. A = list() 7. 8. # append可以向列表添加元素 9. A.append('产品') 10. print(A) # ['产品'] 11. 12. # 将另一个集合中的元素逐一添加到列表中 13. a = [1, 2] 14. b = [3, 4] 15. a.extend(b) 16. print(a) # [1, 2, 3, 4] 17. a.append(b) 18. print(a) # [1, 2, 3, 4, [3, 4]] 19. 20. # 在指定位置index前插入元素object 21. a = [0, 1, 2] 22. a.index(0, 0) 23. print(a)
修改元素("改")
- list[index] = value
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. # 通过索引修改值 6. a = [1, 2, 3, 4] 7. a[0] = 'a' 8. print(a)
查找元素("查"in, not in, index, count)
- index(value):返回某个值在列表中的索引
- count(value):返回某个值在列表中出现的次数
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. 6. a = [1, 2, 3, 4] 7. if 1 in a: 8. print('1在列表a中') 9. 10. # 返回在列表中的索引值 11. print(a.index(2)) # 1 12. 13. # 返回在列表中出现的次数 14. print(a.count(2)) 15. print(a.count(0))
删除元素("删"del, pop, remove)
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
clear
():删除列表里的所有元素,相当于del a[:]
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情'] 6. 7. del movieName[0] 8. print(movieName) 9. 10. # 可以根据索引删除,默认删除最后一个 11. movieName.pop() 12. print(movieName) 13. movieName.pop(0) 14. print(movieName) 15. 16. # 根据值删除 17. movieName.remove('指环王') 18. print(movieName) 19. 20. # 删除全部 相当于 del movieName[:] 21. movieName.clear() 22. # del movieName[:] 23. print(movieName)
排序(sort, reverse)
- sort():将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
- reverse():将list逆置
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. a = [1, 4, 2, 3] 6. a.sort() 7. print(a) 8. a.sort(reverse=True) 9. print(a) 10. 11. b = ['a', 'c', 'b'] 12. b.reverse() 13. print(b)
其他
list.
copy
():返回列表的浅拷贝。相当于a[:]
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. a = [1, 2, 3] 6. print(a.copy())
3. 列表推导式
- 常见用法:对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/30 3. # @Author : 大海 4. 5. # 计算0-9的平方 6. squares = [x ** 2 for x in range(10)] 7. print(squares) 8. squares = list(map(lambda x: x ** 2, range(10))) 9. print(squares) 10. 11. # 输出小于2的值 12. vec = [-4, -2, 0, 2, 4] 13. list_one = [i for i in vec if i < 2] 14. print(list_one)
4. 序列类型通用方法
运算 |
结果 |
|
如果 s 中的某项等于 x 则结果为 |
|
如果 s 中的某项等于 x 则结果为 |
|
s 与 t 相拼接 |
|
相当于 s 与自身进行 n 次拼接 |
|
s 的第 i 项,起始为 0 |
|
s 从 i 到 j 的切片 |
|
s 从 i 到 j 步长为 k 的切片 |
|
s 的长度 |
|
s 的最小项 |
|
s 的最大项 |
|
x 在 s 中首次出现项的索引号(索引号在 i 或其后且在 j 之前) |
|
x 在 s 中出现的总次数 |