赞
踩
目录
5.index(x):查找x,返回第一次出现的下标,找不到则引发异常
7.pop(i):删除并返回下标为i的元素,若i为空则删除最后一个元素
8.remove(x):删除元素x,如果有多个x,只删除第一个。若x不存在,则引发异常
-
- #列表的定义和初始化:
- mylist1=[1,2,'ok',[1,2]]
- mylist2=[]#定义一个空列表
- mylist1.append([1,2])#用append函数往列表中添加元素
- mylist2.append('ok')#往列表2中添加元素
- print(mylist1)
- print(mylist2)
- #运行结果
- [1, 2, 'ok', [1, 2], [1, 2]]
- ['ok']
列表内容 | 1 | 2 | 'ok' | 4 |
正向下标 | 0 | 1 | 2 | 3 |
反向下标 | -4 | -3 | -2 | -1 |
切片时 :list1[m,n]的实际下标范围为[m.n-1]
- #列表下标的访问:
- list1=[1,2,'ok',[2,3]]
- print(list1[0])#访问下标为0的元素
- print(list1[-1])#访问下标为-1的元素
- #运行结果
- 1
- [2, 3]
- #列表的切片:
- print(list1[:])#输出整个列表
- print(list1[::-1])#逆序输出整个列表
- print(list1[1:])#从下标为1开始输出整个列表
- print(list1[-3::-1])#从下标为-3开始逆序输出整个列表
- print(list1[0:3])#从下标为0输出到下标为3-1=2
- #运行结果
- [1, 2, 'ok', [2, 3]]
- [[2, 3], 'ok', 2, 1]
- [2, 'ok', [2, 3]]
- [2, 1]
- [1, 2, 'ok']
注意:列表切片后的结果为新列表
- #列表的加法
- a=[1,2,3,4]
- b=[5,6]
- c=a+b#生成一张新的列表,让c指向该列表
- a+=b#不生成新列表在a中直接添加b列表中的元素
- a[0]=100#a[0]影响a,但不影响c
- print(c)
- print(a)
- #输出结果
- # [1, 2, 3, 4, 5, 6]
- # [100, 2, 3, 4, 5, 6]
- #列表与数字的乘法
- a=[1,2,3]
- c=a*3#a*n代表一张新的列表,内容是将a中元素写n遍
- print(a*3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
- a[2]="ok"#新列表生成后与a没有任何联系,改变a中元素的值c中元素的值不会改变
- print(c) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
- d=[a]*3#[a]*n是一张新列表,表中元素是n个指针和a指向同一张列表(或者说新生成的列表中的n个a指向同一个地方)改变a的值d会改变,
- print(d) #[[1, 2, 'ok'], [1, 2, 'ok'], [1, 2, 'ok']]
- a.append('ko')
- a[0]=100
- print(d) #[[100, 2, 'ok', 'ko'], [100, 2, 'ok', 'ko'], [100, 2, 'ok', 'ko']]
-
- #列表加法和乘法的混合运算
- a=[[0]]*2+[[0]]*2
- print(a) #[[0], [0], [0], [0]]
- a[0][0]=5#前两个[0]指向同一个地方,后两个[0]指向同一个地方
- print(a) #[[5], [5], [0], [0]]
- #通过for循环遍历:
- lst=[1,2,3,4,5]
- for i in lst:#直接遍历列表的各个元素
- print(i,end=' ')
- print('')
- for i in range(len(lst)):#通过下标遍历列表的元素
- lst[i]=0#通过下标遍历,可对列表中元素的值进行操作
- print(lst[i],end=' ')
- #运行结果
- # 1 2 3 4 5
- # 0 0 0 0 0
- a=[1,2,3,4,5,2]
- b=[[1,2],[1,2],'ok','ok',a,a]
- print(a.count(2))
- print(b.count([1,2]))
- print(b.count('ok'))
- print(b.count(a))
- 运行结果:
- 2
- 2
- 2
- 2
- l=[]
- for i in range(5):
- l.append(i)
- print(l)
- # 运行结果:
- [0, 1, 2, 3, 4]
- a=[1,2,3,4,5]
- b=a.copy()#说明一下复制后内容相同但指向的位置不同(即修改a的值b的值不会改变)
- print(b)
- #运行结果
- [1, 2, 3, 4, 5]
- a=[1,2,3,4,5]
- b=['ok',100]
- a.extend(b)
- print(a)
- #运行结果
- [1, 2, 3, 4, 5, 'ok', 100]
其实index有三个参数index(x,beg,end):x为要查找的序列(列表,元组,字符串),beg为起始范围(默认为0),end为终止范围(默认为序列的长度)。
- a=[1,2,'小李',3,4,5,'小李',7]
- print(a.index('小李'))
- print(a.index('小李',3,8))#index(x,i,j):查找下标范围是从i到j-1
- print(a.index('小李',0,3))
- #运行结果
- 2
- 6
- 2
- a=[1,2,'小李',3,4,5,'小李',7]
- a.insert(2,100)#原来在这个位置上的元素及其后面所有的元素都向后移动一位
- print(a)
- 运行结果
- [1, 2, 100, '小李', 3, 4, 5, '小李', 7]
- a=[1,2,'小李',3,4,5,'小李',7]
- print(a)
- b=a.pop()
- c=a.pop(2)
- print(b)
- print(c)
- print(a)
- 运行结果
- [1, 2, '小李', 3, 4, 5, '小李', 7]
- 7
- 小李
- [1, 2, 3, 4, 5, '小李']
- a=[1,2,'小李',3,4,5,'小李',7]
- a.remove(1)
- print(a)
- a.remove('小李')
- print(a)
- a.remove('小李')
- print(a)
- 运行结果:
- [2, '小李', 3, 4, 5, '小李', 7]
- [2, 3, 4, 5, '小李', 7]
- [2, 3, 4, 5, 7]
- #在这多嘴一句要想删除一个列表中的所有指定元素用下列这种用法
- b=[1,2,3,3,3,5]
- print(b)
- b=[i for i in b if i!=3]
- print(b)
- 运行结果:
- [1, 2, 3, 3, 3, 5]
- [1, 2, 5]
- a=[1,2,'小李',3,4,5,'小李',7]
- a.reverse()
- print(a)
- 运行结果:
- [7, '小李', 5, 4, 3, '小李', 2, 1]
我们先简单点说就只说升降序,想详细了解小伙伴请查看博主的专门关于sort,sorted函数的排法
- a=[3,4,5,1,6,2]
- a.sort()#默认是升序
- print(a)
- a.sort(reverse=True)#升序
- print(a)
- 运行结果:
- [1, 2, 3, 4, 5, 6]
- [6, 5, 4, 3, 2, 1]
- a=[x*x for x in range(5)]
- print(a)
- b=[x*x for x in range(5) if x%2==0]
- print(b)
- c=[m+n for m in 'abc' for n in 'abc']
- print(c)
- d=[[m+n for m in 'abc'] for n in 'abc']
- print(d)
- 运行结果:
- [0, 4, 16]
- ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
- [['aa', 'ba', 'ca'], ['ab', 'bb', 'cb'], ['ac', 'bc', 'cc']]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。