python列表操作
创建列表
创建列表可以用中括号
1 list_a = [1,2,3,"dsa",10,2,4,5]
访问列表值
可以根据索引下标访问元素,注意索引从0开始
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5] 2print(list_a[0]) 3print(list_a[2]) 4print(list_a[1:3]) 5print(list_a[1:8:2]) 6 7结果: 8 1 9 3 10 [2, 3] 11 [2, "dsa", 2, 5]
更新列表
更新列表有三种方法,append(x),extend([x,y,z]),insert(index,x)
1.向原列表末尾追加元素
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2 list_a.append(10)3print(list_a)45结果:
6 [1, 2, 3, "dsa", 10, 2, 4, 5, 10]
2.向原列表追加一个列表
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2 list_a.extend([9,10])3print(list_a)45结果:
6 [1, 2, 3, "dsa", 10, 2, 4, 5, 9, 10]
3.向原列表插入元素,可以指定位置
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2 list_a.insert(1, 4)3print(list_a)45结果:
6 [1, 4, 2, 3, "dsa", 10, 2, 4, 5]
删除列表元素
删除列表元素有三种方法,del list[index]语句,remove(x),pop(index)
1.del 语句可以删除指定索引位置的元素
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2del list_a[2]3print(list_a)45结果:
6 [1, 2, "dsa", 10, 2, 4, 5]
2.remove()删除从左找到的第一个指定的元素
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2 list_a.remove(10)3print(list_a)45结果:
6 [1, 2, 3, "dsa", 2, 4, 5]
3.pop()删除指定索引位置的元素,并返回该元素
1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5]2 a = list_a.pop(3)3print(list_a)4print(a)56结果:
7 [1, 2, 3, 10, 2, 4, 5]
8 dsa
列表操作符
+用于组合列表,*用于重复列表
1 list_a = [1, 2, 3, "dsa", 2, 4, 5] 2 list_b = [2, 3, 65, 111] 3 list_c = list_a + list_b 4print(list_c) 56 list_d = list_c*2
7print(list_d)
8
9结果:
10 [1, 2, 3, "dsa", 2, 4, 5, 2, 3, 65, 111]
11 [1, 2, 3, "dsa", 2, 4, 5, 2, 3, 65, 111, 1, 2, 3, "dsa", 2, 4, 5, 2, 3, 65, 111]
列表排序
列表排序有三种,永久性排序sort(),临时性排序sorted(list),反转排序reverse()
1.永久性排序sort(),就是这个列表的顺序就变了
1 list_a = [10, 21, 3, 2, 4, 5]2list_a.sort()3print(list_a)45结果:
6 [2, 3, 4, 5, 10, 21]
2.临时性排序sorted(list),参数是列表,赋值给新列表,原列表不变
1 list_a = [10, 21, 3, 2, 4, 5]2 list_b = sorted(list_a)3print("list_a: %s" % list_a)4print("list_b: %s" % list_b)56结果:
7 list_a: [10, 21, 3, 2, 4, 5]
8 list_b: [2, 3, 4, 5, 10, 21]
3.反转排序reverse(),列表排序反转
1 list_a = [10, 21, 3, 2, 4, 5]2list_a.reverse()3print("list_a: %s" % list_a)45结果:
6 list_a: [5, 4, 2, 3, 21, 10]
列表函数
len(list):返回列表元素个数或者叫长度
max(list):返回列表元素最大值
min(list):返回列表元素最小值
set(list):列表去重,返回的为一个集合,需再转换为列表
1 list_a = [10, 21, 3, 2, 4, 5, 2, 5, 2, 4, 6, 5] 2 a = len(list_a) 3 b = max(list_a) 4 c = min(list_a) 5 d = list(set(list_a)) 6print("列表长度:%s" % a) 7print("列表元素最大值:%s" % b) 8print("列表元素最小值:%s" % c) 9print("列表去重后为:%s" % d)1011结果:
12 列表长度:12
13 列表元素最大值:21
14 列表元素最小值:2
15 列表去重后为:[2, 3, 4, 5, 6, 10, 21]
列表切片
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 2print(list_a[1:]) # 索引1到最后3print(list_a[:3]) # 开始到索引3
4print(list_a[1:7:2]) # 索引1到6,每隔2个取一个值
5print(list_a[:-1]) # 开始到倒数第二个
6print(list_a[::-1]) # 等价于reverse函数反转效果
7
8结果:
9 [21, 3, 2, 4, 5, 11, 43, 5, 7, 98]
10 [10, 21, 3]
11 [21, 2, 5]
12 [10, 21, 3, 2, 4, 5, 11, 43, 5, 7]
13 [98, 7, 5, 43, 11, 5, 4, 2, 3, 21, 10]
列表拷贝
列表深拷贝:list_b = list_a[:],对list_b操作不会影响list_a
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98]2 list_b = list_a[:]3 list_b.append(15)4print("list_a: %s" % list_a)5print("list_b:%s" % list_b)67结果:
8 list_a: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98]
9 list_b: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15]
列表浅拷贝:list_b = list_a,对list_b操作会影响list_a
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98]2 list_b = list_a3 list_b.append(15)4print("list_a: %s" % list_a)5print("list_b:%s" % list_b)67结果:
8 list_a: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15]
9 list_b: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15]
以上是 python列表操作 的全部内容, 来源链接: utcz.com/z/531157.html