基础数据类型 : list
list主要操作:索引、切片、查询、修改、增加、删除、扩展、统计、排序、获取下标、拷贝……
1.1 索引
由图:
- list正向下标从0开始
- list反向下标从-1开始
- 获取下标对应的单个元素:list[下标]
1.2 查询
- 通过索引查询元素:切片
- list [a:b] 获取列表list中下标a到下标b之间的元素
- list [a:] 获取列表list中下标a开始的所有元素
- list [b:] 获取列表list中从下标0开始到下标b之前的所有元素
- list [:] 获取列表list中所有的元素
- list [a:b:c]获取列表list中从下标a到下标b,从下标a开始递增c的所有元素
- 通过元素查询索引:index()
1 list = [ 'a', 'b', 'a', 'd', 'e', 'a']
2 print(list.index("a")) # 查询第一个元素a对应的下标
3 print(list.index("a",3)) # 查询第从四个元素a对应的下标
运行结果:
0
5
- 循环查询 : for i in list:
1 list = [ 'a', 'b', 'c' ]
2 for i in list:
3 print(i)
运行结果:
a
b
c
1.3 修改
### 修改列表中的元素:list[下标] = 新元素
1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
# 根据索引改元素
2 list[0] = "小猪佩奇" # 修改单个元素
3 print(list)
# 根据切片改元素
4 list[0:2] = "小猪佩奇","乔治" # 修改多个元素
5 print(list)
6 list[0:2] = "小猪佩奇" # 将元素进行拆分,再修改,与extend类似
7 print(list)
运行结果:
['喜洋洋', '派大星', '章鱼哥', '蟹老板']
['小猪佩奇', '乔治', '章鱼哥', '蟹老板']
['小', '猪', '佩', '琪', '章鱼哥', '蟹老板']
1.4 增加
- list.append("m") 追加:在列表的末尾添加元素m
- list.insert(index,"m") 插入 : 在列表中下标未index的位置插入元素m
- list.extend("m") 迭代插入:将添加的元素m进行拆分,并依次插入到列表末尾 (将一个列表追加到另一个列表后面,组成一个新的列表)
1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"] 2 # 在列表末尾追加元素“史丹利” 3 list.append("史丹利") 4 print(a,list) 5 # 在第二个位置插入元素“史丹利” 6 list.insert(2,"史丹利") 7 print(list) 8 # 将添加的元素"海超人"进行拆分,并依次追加插入 9 list.extend("海超人") 10 print(list)
1.5 删除
- list.pop() 根据下标删除元素(有返回值)
- 若未传入值,默认删除最后一个元素;
- 若传入下标,删除下标对应的元素。
- list.remove("m") 根据元素名删除元素(无返回值)
- list.clear() 删除列表中所有的元素(返回空列表)
- del list 删除列表
- del list [x] 删除下标对应的元素
- del list [a:b]
1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
2 # 删除“蟹老板”,未传值,默认删除最后一个元素
3 list.pop()
4 print(list)
5 # 删除章鱼哥,删除下标2对应的元素
6 a = list.pop(2)
7 print(a,list)
8 # 删除章鱼哥
9 list.remove("章鱼哥") 10 print(list)
11 # 删除列表中所有的元素 12 list.clear() 13 print(list)
14 # 删除整个列表 15 del list 16 print(list) 17 # 删除“章鱼哥” 18 del list[2] 19 print(list) 20 # 删除“章鱼哥”和“蟹老板” 21 del list[2:4] 22 print(list)
运行结果:
['海绵宝宝', '派大星', '章鱼哥']
章鱼哥 ['海绵宝宝', '派大星', '蟹老板']
['海绵宝宝', '派大星', '蟹老板']
[]
<class 'list'>
['海绵宝宝', '派大星', '蟹老板']
['海绵宝宝', '派大星']
1.6 其他方法
### 统计 len(list) 、 list.count()
1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
2 ### 计算列表的长度
3 print(len(list))
4 ### 计算元素出现的次数
5 print(list.count("海绵宝宝"))
运行结果:
4
1
### 列表排序 sort() 、reverse()
1 list_num = [3,8,2,0,34,66,11]
2 ## 从小到大排序
3 list_num.sort()
4 print(list_num)
5 ### 从大到小排序
6 list_num.sort(reverse=True)
7 print(list_num)
8 ### 倒序排列
9 list_num.reverse() 10 print(list_num)
运行结果:
[0, 2, 3, 8, 11, 34, 66]
[66, 34, 11, 8, 3, 2, 0]
[0, 2, 3, 8, 11, 34, 66]