当前位置:   article > 正文

Python列表基本用法详解_python列表的基本操作

python列表的基本操作

目录

1.列表的定义和初始化:

2.列表的访问和切片操作:

3.列表的加法及列表与数字的乘法:

4.列表的遍历:

 5.列表的成员函数:

1.count(x):计算列表中有多少x

2.append(x):t=添加元素x到列表尾部

3.copy():返回自身的复制(浅复制)

4.extend(x):添加列表x中的元素到尾部

5.index(x):查找x,返回第一次出现的下标,找不到则引发异常

6.insert(x,i):将元素x插入到下标i处

7.pop(i):删除并返回下标为i的元素,若i为空则删除最后一个元素

8.remove(x):删除元素x,如果有多个x,只删除第一个。若x不存在,则引发异常

9.reverse():将列表逆序

10.sort:排序

6.列表生成式:


1.列表的定义和初始化:

  1. #列表的定义和初始化:
  2. mylist1=[1,2,'ok',[1,2]]
  3. mylist2=[]#定义一个空列表
  4. mylist1.append([1,2])#用append函数往列表中添加元素
  5. mylist2.append('ok')#往列表2中添加元素
  6. print(mylist1)
  7. print(mylist2)
  8. #运行结果
  9. [1, 2, 'ok', [1, 2], [1, 2]]
  10. ['ok']

2.列表的访问和切片操作:

列表内容12'ok'4
正向下标0123
反向下标-4-3-2-1

切片时 :list1[m,n]的实际下标范围为[m.n-1]

  1. #列表下标的访问:
  2. list1=[1,2,'ok',[2,3]]
  3. print(list1[0])#访问下标为0的元素
  4. print(list1[-1])#访问下标为-1的元素
  5. #运行结果
  6. 1
  7. [2, 3]
  8. #列表的切片:
  9. print(list1[:])#输出整个列表
  10. print(list1[::-1])#逆序输出整个列表
  11. print(list1[1:])#从下标为1开始输出整个列表
  12. print(list1[-3::-1])#从下标为-3开始逆序输出整个列表
  13. print(list1[0:3])#从下标为0输出到下标为3-1=2
  14. #运行结果
  15. [1, 2, 'ok', [2, 3]]
  16. [[2, 3], 'ok', 2, 1]
  17. [2, 'ok', [2, 3]]
  18. [2, 1]
  19. [1, 2, 'ok']

注意:列表切片后的结果为新列表

3.列表的加法及列表与数字的乘法:

  1. #列表的加法
  2. a=[1,2,3,4]
  3. b=[5,6]
  4. c=a+b#生成一张新的列表,让c指向该列表
  5. a+=b#不生成新列表在a中直接添加b列表中的元素
  6. a[0]=100#a[0]影响a,但不影响c
  7. print(c)
  8. print(a)
  9. #输出结果
  10. # [1, 2, 3, 4, 5, 6]
  11. # [100, 2, 3, 4, 5, 6]
  12. #列表与数字的乘法
  13. a=[1,2,3]
  14. c=a*3#a*n代表一张新的列表,内容是将a中元素写n遍
  15. print(a*3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
  16. a[2]="ok"#新列表生成后与a没有任何联系,改变a中元素的值c中元素的值不会改变
  17. print(c) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
  18. d=[a]*3#[a]*n是一张新列表,表中元素是n个指针和a指向同一张列表(或者说新生成的列表中的n个a指向同一个地方)改变a的值d会改变,
  19. print(d) #[[1, 2, 'ok'], [1, 2, 'ok'], [1, 2, 'ok']]
  20. a.append('ko')
  21. a[0]=100
  22. print(d) #[[100, 2, 'ok', 'ko'], [100, 2, 'ok', 'ko'], [100, 2, 'ok', 'ko']]
  23. #列表加法和乘法的混合运算
  24. a=[[0]]*2+[[0]]*2
  25. print(a) #[[0], [0], [0], [0]]
  26. a[0][0]=5#前两个[0]指向同一个地方,后两个[0]指向同一个地方
  27. print(a) #[[5], [5], [0], [0]]

4.列表的遍历:

  1. #通过for循环遍历:
  2. lst=[1,2,3,4,5]
  3. for i in lst:#直接遍历列表的各个元素
  4. print(i,end=' ')
  5. print('')
  6. for i in range(len(lst)):#通过下标遍历列表的元素
  7. lst[i]=0#通过下标遍历,可对列表中元素的值进行操作
  8. print(lst[i],end=' ')
  9. #运行结果
  10. # 1 2 3 4 5
  11. # 0 0 0 0 0

 5.列表的成员函数:

1.count(x):计算列表中有多少x

  1. a=[1,2,3,4,5,2]
  2. b=[[1,2],[1,2],'ok','ok',a,a]
  3. print(a.count(2))
  4. print(b.count([1,2]))
  5. print(b.count('ok'))
  6. print(b.count(a))
  7. 运行结果:
  8. 2
  9. 2
  10. 2
  11. 2

2.append(x):t=添加元素x到列表尾部

  1. l=[]
  2. for i in range(5):
  3. l.append(i)
  4. print(l)
  5. # 运行结果:
  6. [0, 1, 2, 3, 4]

3.copy():返回自身的复制(浅复制)

  1. a=[1,2,3,4,5]
  2. b=a.copy()#说明一下复制后内容相同但指向的位置不同(即修改a的值b的值不会改变)
  3. print(b)
  4. #运行结果
  5. [1, 2, 3, 4, 5]

4.extend(x):添加列表x中的元素到尾部

  1. a=[1,2,3,4,5]
  2. b=['ok',100]
  3. a.extend(b)
  4. print(a)
  5. #运行结果
  6. [1, 2, 3, 4, 5, 'ok', 100]

5.index(x):查找x,返回第一次出现的下标,找不到则引发异常

其实index有三个参数index(x,beg,end):x为要查找的序列(列表,元组,字符串),beg为起始范围(默认为0),end为终止范围(默认为序列的长度)。

  1. a=[1,2,'小李',3,4,5,'小李',7]
  2. print(a.index('小李'))
  3. print(a.index('小李',3,8))#index(x,i,j):查找下标范围是从i到j-1
  4. print(a.index('小李',0,3))
  5. #运行结果
  6. 2
  7. 6
  8. 2

6.insert(x,i):将元素x插入到下标i处

  1. a=[1,2,'小李',3,4,5,'小李',7]
  2. a.insert(2,100)#原来在这个位置上的元素及其后面所有的元素都向后移动一位
  3. print(a)
  4. 运行结果
  5. [1, 2, 100, '小李', 3, 4, 5, '小李', 7]

7.pop(i):删除并返回下标为i的元素,若i为空则删除最后一个元素

  1. a=[1,2,'小李',3,4,5,'小李',7]
  2. print(a)
  3. b=a.pop()
  4. c=a.pop(2)
  5. print(b)
  6. print(c)
  7. print(a)
  8. 运行结果
  9. [1, 2, '小李', 3, 4, 5, '小李', 7]
  10. 7
  11. 小李
  12. [1, 2, 3, 4, 5, '小李']

8.remove(x):删除元素x,如果有多个x,只删除第一个。若x不存在,则引发异常

  1. a=[1,2,'小李',3,4,5,'小李',7]
  2. a.remove(1)
  3. print(a)
  4. a.remove('小李')
  5. print(a)
  6. a.remove('小李')
  7. print(a)
  8. 运行结果:
  9. [2, '小李', 3, 4, 5, '小李', 7]
  10. [2, 3, 4, 5, '小李', 7]
  11. [2, 3, 4, 5, 7]
  12. #在这多嘴一句要想删除一个列表中的所有指定元素用下列这种用法
  13. b=[1,2,3,3,3,5]
  14. print(b)
  15. b=[i for i in b if i!=3]
  16. print(b)
  17. 运行结果:
  18. [1, 2, 3, 3, 3, 5]
  19. [1, 2, 5]

9.reverse():将列表逆序

  1. a=[1,2,'小李',3,4,5,'小李',7]
  2. a.reverse()
  3. print(a)
  4. 运行结果:
  5. [7, '小李', 5, 4, 3, '小李', 2, 1]

10.sort:排序

我们先简单点说就只说升降序,想详细了解小伙伴请查看博主的专门关于sort,sorted函数的排法

  1. a=[3,4,5,1,6,2]
  2. a.sort()#默认是升序
  3. print(a)
  4. a.sort(reverse=True)#升序
  5. print(a)
  6. 运行结果:
  7. [1, 2, 3, 4, 5, 6]
  8. [6, 5, 4, 3, 2, 1]

6.列表生成式:

  1. a=[x*x for x in range(5)]
  2. print(a)
  3. b=[x*x for x in range(5) if x%2==0]
  4. print(b)
  5. c=[m+n for m in 'abc' for n in 'abc']
  6. print(c)
  7. d=[[m+n for m in 'abc'] for n in 'abc']
  8. print(d)
  9. 运行结果:
  10. [0, 4, 16]
  11. ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
  12. [['aa', 'ba', 'ca'], ['ab', 'bb', 'cb'], ['ac', 'bc', 'cc']]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/535208
推荐阅读
相关标签
  

闽ICP备14008679号