python--列表

Posted liyingyby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--列表相关的知识,希望对你有一定的参考价值。

列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作。

列表的功能:创建、查询、切片、增加、修改、删除、循环、排序以及其他功能。

1、创建

 1 #方法一
 2 L1 = []     #定义空列表
 3 L2 = [a,b,c,d]     #存4个值,索引为0-3
 4 L3 = [abc,[def,ghi]] #嵌套列表
 5 print(L1)    #输出结果为:[]
 6 print(L2[2]) #输出结果为: c
 7 print(L3[1]) #输出结果为: [‘def‘,‘ghi‘]
 8 #方法二
 9 L4 = list()
10 print(L4)    #输出结果为:[]

2、查询

1 L5 = [a,b,c,d,a,e,1,2]
2 print(L5[2])  #通过索引取值,输出结果为:c
3 print(L5[-1]) #通过索引从列表右边开始取值,输出结果为:2
4 print(L5[-2]) #输出结果为:1
5 print(L5.index(a)) #返回指定元素的索引值,从左向右查找,找到第一个匹配值,则返回,输出结果为:0
6 print(L5.count(a)) #统计指定元素的个数,输出结果为:2

3、切片

 1 >>> L5 = [a,b,c,d,a,e,1,2]
 2 >>> L5
 3 [a, b, c, d, a, e, 1, 2]
 4 >>> L5[0:3]  #返回从索引0至3的元素,不包括3,顾头不顾尾
 5 [a, b, c]
 6 >>> L5[0:-1] #返回从索引0至最后一个值,不包括最后一个值
 7 [a, b, c, d, a, e, 1]
 8 >>> L5[3:6]  #返回从索引3到6的元素,但不包含索引为6的元素
 9 [d, a, e]
10 >>> L5[3:]   #返回从索引3至最后所有的值
11 [d, a, e, 1, 2]
12 >>> L5[:3]   #返回从索引0至3的值,不包含3
13 [a, b, c]
14 >>> L5[1:6:2] #返回索引1至6的值,不包含6,但步长为2(每隔一个元素,取一个值)
15 [b, d, e]
16 >>> L5[:]     #返回所有的值
17 [a, b, c, d, a, e, 1, 2]
18 >>> L5[::2]   #按步长为2,返回所有的值
19 [a, c, a, 1]

4、增加

1 >>> L5
2 [a, b, c, d, a, e, 1, 2]
3 >>> L5.append(A) #列表最后追加A
4 >>> L5
5 [a, b, c, d, a, e, 1, 2, A]
6 >>> L5.insert(3,B) #在列表的索引为3的位置,插入一个值B 
7 >>> L5
8 [a, b, c, B, d, a, e, 1, 2, A]

 5、修改

1 >>> L5
2 [a, b, c, B, d, a, e, 1, 2, A]
3 >>> L5[3]=Boy #把索引为3的元素修改为Boy
4 >>> L5
5 [a, b, c, Boy, d, a, e, 1, 2, A]
6 >>> L5[4:6]=ALEX LI #把索引4-6的元素改为ALEX LI,不够的元素索引自动增加
7 >>> L5
8 [a, b, c, Boy, A, L, E, X,  , L, I, e, 1, 2, A]

6、删除

 1 >>> L5
 2 [a, b, c, Boy, A, L, E, X,  , L, I, e, 1, 2, A]
 3 >>> L5.pop()   #删除最后一个元素
 4 A
 5 >>> L5
 6 [a, b, c, Boy, A, L, E, X,  , L, I, e, 1, 2]
 7 >>> L5.remove(L) #删除从左边找到的第一个指定元素
 8 >>> L5
 9 [a, b, c, Boy, A, E, X,  , L, I, e, 1, 2]
10 >>> del L5[4]   #用python全局的删除方法,删除指定元素
11 >>>L5
12 [a, b, c, Boy, E, X,  , L, I, e, 1, 2]
13 >>> del L5[3:7] #删除多个元素
14 >>> L5
15 [a, b, c, L, I, e, 1, 2]
16 >>> L5.pop(1)   #删除指定位置的元素
17 b
18 >>> L5
19 [a, c, L, I, e, 1, 2]

7、循环

1 L5 = [a,b,c,L,I,e,1,2]
2 for i in L5:
3     print(i)

8、排序

>>> L5
[a, c, L, I, e, 1, 2]
>>> L5.sort()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: ‘<‘ not supported between instances of ‘int‘ and ‘str‘  #不能对包含了str和int的列表进行排序
>>> L5.pop() #删除列表中的数字
2
>>> L5.pop()
1
>>> L5.sort()
>>> L5
[I, L, a, c, e]
>>> L5.insert(4,#) #添加
>>> L5.insert(1,!)
>>> L5
[I, !, L, a, c, #, e]
>>> L5.sort() #排序
>>> L5
[!, #, I, L, a, c, e]  #是以字符的ASCII值进行从小到大的排序
>>> L5.reverse() #反转
>>> L5
[e, c, a, L, I, #, !]

9、其他用法

>>> L5
[e, c, a, L, I, #, !]
>>> L5.extend([1,2,3,4]) #把一个列表,扩展到L5列表中
>>> L5
[e, c, a, L, I, #, !, 1, 2, 3, 4]
>>> L5[2]=[Alex,Jack,Rain]
>>> L5
[e, c, [Alex, Jack, Rain], L, I, #, !, 1, 2, 3, 4]
>>> L5[2][2] #嵌套列表取值
Rain
>>> L5.clear() #清空列表
>>> L5
[]

 

以上是关于python--列表的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第25篇):将多行字符串拆分成列表

Python代码阅读(第40篇):通过两个列表生成字典

Python代码阅读(第13篇):检测列表中的元素是否都一样

30 段 Python 实用代码

python常用代码

Python代码阅读(第41篇):矩阵转置