python列表操作

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)

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])

3print(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)

3print(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]

2del list_a[2]

3print(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)

3print(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)

3print(list_a)

4print(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

4print(list_c)

5

6 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)

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)

3print("list_a: %s" % list_a)

4print("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]

2list_a.reverse()

3print("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))

6print("列表长度:%s" % a)

7print("列表元素最大值:%s" % b)

8print("列表元素最小值:%s" % c)

9print("列表去重后为:%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]

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)

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)

4print("list_a: %s" % list_a)

5print("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]

以上是 python列表操作 的全部内容, 来源链接: utcz.com/z/531157.html

回到顶部