python 列表操作

内容摘要
创建列表   创建列表可以用中括号     1 list_a = [1,2,3,"dsa",10,2,4,5] 访问列表值
文章正文

创建列表

  创建列表可以用中括号   

 1 list_a = [1,2,3,"dsa",10,2,4,5]

访问列表值

  可以根据索引下标访问元素,注意索引从0开始 

1 list_a = [1, 2, 3, "dsa", 10, 2, 4, 5] 2 print(list_a[0]) 3 print(list_a[2]) 4 print(list_a[1:3]) 5 print(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)
3 print(list_a)
4 
5 结果:
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])
3 print(list_a)
4 
5 结果:
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)
3 print(list_a)
4 
5 结果:
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]
2 del list_a[2]
3 print(list_a)
4 
5 结果:
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)
3 print(list_a)
4 
5 结果:
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)
3 print(list_a)
4 print(a)
5 
6 结果:
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
 4 print(list_c)
 5 
 6 list_d = list_c*2
 7 print(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]
2 list_a.sort()
3 print(list_a)
4 
5 结果:
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)
3 print("list_a: %s" % list_a)
4 print("list_b: %s" % list_b)
5 
6 结果:
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]
2 list_a.reverse()
3 print("list_a: %s" % list_a)
4 
5 结果:
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))
 6 print("列表长度:%s" % a)
 7 print("列表元素最大值:%s" % b)
 8 print("列表元素最小值:%s" % c)
 9 print("列表去重后为:%s" % d)
10 
11 结果:
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]
 2 print(list_a[1:])  # 索引1到最后
 3 print(list_a[:3])  # 开始到索引3
 4 print(list_a[1:7:2])  # 索引1到6,每隔2个取一个值
 5 print(list_a[:-1])  # 开始到倒数第二个
 6 print(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)
4 print("list_a: %s" % list_a)
5 print("list_b:%s" % list_b)
6 
7 结果:
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_a
3 list_b.append(15)
4 print("list_a: %s" % list_a)
5 print("list_b:%s" % list_b)
6 
7 结果:
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]

 

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!