标签:
python 列表
列表的特点
1、列表是一种可变的数据类型,这点是跟元组有区别的
2、列表中的值是有序的,并且可存放重复的值,这点跟set有区别的
3、python中的列表类似于其它语言中的数组
4、列表中元素的值可以多种数据类型并存
列表基本操作方法
1、元素赋值
1
2
3
|
>>> list1 = [ 3 , 9 , ‘python‘ , ‘java‘ ,[ 9 , 3 , 5 ]] >>> print list1 [ 3 , 9 , ‘python‘ , ‘java‘ , [ 9 , 3 , 5 ]] |
2、列表分片
1
2
3
4
5
6
7
8
9
10
11
|
#列表中的索引从0开始,第一个冒号前面的值代表列表索引的起始值,第一个冒号后面的值表示分片结束的索引值(不包含) >>> print list1[ 0 : 4 ] [ 3 , 9 , ‘python‘ , ‘java‘ ] #[::-1] 第二个冒号后面的值表示步长,可为负,负数表示按照步长倒序输出 >>> print list1[:: 2 ] >>> print list1[:: 2 ] [ 3 , ‘python‘ , [ 9 , 3 , 5 ]] >>> print list1[:: - 1 ] [[ 9 , 3 , 5 ], ‘java‘ , ‘python‘ , 9 , 3 ] >>> print list1[ - 1 : - 4 : - 2 ] [[ 9 , 3 , 5 ], ‘python‘ ] |
3、删除元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> print list1 [ 3 , 9 , ‘python‘ , ‘java‘ , [ 9 , 3 , 5 ]] #remove方法是根据列表中的值进行删除 >>> list1.remove( 3 ) #如果remove的值在列表中的值不存在,那么会解释器会毫不留情的报错 >>> remove( 1 ) Traceback (most recent call last): File "<input>" , line 1 , in <module> NameError: name ‘remove‘ is not defined >>> print list1 [ 9 , ‘python‘ , ‘java‘ , [ 9 , 3 , 5 ]] #del是根据索引进行删除 >>> del list1[ 2 ] >>> print list1 [ 9 , ‘python‘ , [ 9 , 3 , 5 ]] |
4、len方法
1
2
3
4
5
6
7
|
>>> list1 = [ 1 , 8 , 23 , 56 , 32 , 9 , 23 ,[ 5 , 9 , 3 , 9 ]] #内嵌列表在外面列表看来长度为1 >>> print len (list1) 8 #计算内嵌列表的长度 >>> print len (list1[ - 1 ]) 4 |
5、count方法
1
2
3
4
5
6
7
8
|
>>> print list1.count( 23 ) 2 #如果要统计的值在列表中不存在则返回0 >>> print list1.count( 25 ) 0 #内嵌列表以及元组的值不会被统计进来 >>> print list1.count( 9 ) 1 |
6、append方法
1
2
3
4
5
6
|
#append可以添加各种数据类型 >>> list1.append( ‘Kingway‘ ) >>> list1.append([ 2 , 3 , 4 , 5 ]) >>> list1.append( 9 ) >>> print list1 [ 1 , 8 , 23 , 56 , 32 , 9 , 23 , [ 5 , 9 , 3 , 9 ], ‘Kingway‘ , [ 2 , 3 , 4 , 5 ], 9 ] |
7、extend方法
1
2
3
4
5
6
7
8
9
|
#extend属于列表的扩展,只能对其他列表进行扩展,而无法像append那样添加其它元素的值 >>> list1.extend([ 6 , 7 , 8 ]) >>> print list1 [ 1 , 8 , 23 , 56 , 32 , 9 , 23 , [ 5 , 9 , 3 , 9 ], ‘Kingway‘ , [ 2 , 3 , 4 , 5 ], 9 , 6 , 7 , 8 ] #直接添加其它元素的值会报错 >>> list1.extend( 9 ) Traceback (most recent call last): File "<input>" , line 1 , in <module> TypeError: ‘int‘ object is not iterable |
8、insert方法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#insert方法中第一个参数的值为索引,第二个参数为需要插入的值,插入值可以是各种数据类型 >>> list1.insert( 3 , ‘four‘ ) >>> print list1 [ 1 , 8 , 23 , ‘four‘ , 56 , 32 , 9 , 23 , [ 5 , 9 , 3 , 9 ], ‘Kingway‘ , [ 2 , 3 , 4 , 5 ], 9 , 6 , 7 , 8 ] #如果索引的值大于列表长度,那么将在列表的最后一位插入该值 >>> list1.insert( 100 , "end" ) >>> print list1 [ 1 , 8 , 23 , ‘four‘ , 56 , 32 , 9 , 23 , [ 5 , 9 , 3 , 9 ], ‘Kingway‘ , [ 2 , 3 , 4 , 5 ], 9 , 6 , 7 , 8 , ‘end‘ ] #索引的值不能为负,否则将会报错 >>> list1.index( - 10 , ‘first‘ ) Traceback (most recent call last): File "<input>" , line 1 , in <module> TypeError: slice indices must be integers or None or have an __index__ method |
9、pop方法
1
2
3
4
5
6
7
8
|
#pop方法用于删除相应的值并将删除的值返回,默认删除列表的最后一位 >>> list1.pop() ‘end‘ #删除并返回指定位置的值 >>> list1.pop( 2 ) 23 >>> print list1 [ 1 , 8 , ‘four‘ , 56 , 32 , 9 , 23 , [ 5 , 9 , 3 , 9 ], ‘Kingway‘ , [ 2 , 3 , 4 , 5 ], 9 , 6 , 7 , 8 ] |
10、sort方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#sort方法可以将列表进行排序 >>> list1 = [ 23 , 9 , 15 , 3 ] >>> list1.sort() >>> print list1 [ 3 , 9 , 15 , 23 ] #sort方法会改变原列表的值,sorted方法不会对原列表的值进行修改,sort为列表内置的方法,sorted为python内置的方法 >>> list1 = [ 23 , 9 , 15 , 3 ] >>> list2 = sorted (list1) >>> print list1 [ 23 , 9 , 15 , 3 ] >>> print list2 [ 3 , 9 , 15 , 23 ] #sort可以以字符串值的长度进行排序 >>> list1 = [ ‘a‘ , ‘dddd‘ , ‘ccc‘ , ‘bb‘ ] >>> list1.sort(key = len ) >>> print list1 [ ‘a‘ , ‘bb‘ , ‘ccc‘ , ‘dddd‘ ] |
11、其它方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#reverse方法,将列表中的元素倒序排列 >>> list1 = [ 23 , 5 , 9 , 18 , 6 ] >>> list1.reverse() >>> print list1 [ 6 , 18 , 9 , 5 , 23 ] #max方法,将列表中的最大值输出 >>> print max (list1) 23 #min方法,将列表中的最小值输出 >>> print min (list1) 5 #index方法,将对应元素的索引输出,如果该元素在列表中不存在,则报错,如果该元素在列表中有多个,则返回第一个被查到的值的索引值 >>> list1 = [ 32 , 8 , 234 , 9 , 8 , 12 ] >>> list1.index( 8 ) 1 >>> list1.index( 3 ) Traceback (most recent call last): File "<input>" , line 1 , in <module> ValueError: 3 is not in list #cmp方法,比较两个列表的值,如果第一个大于第二个则返回1,反之结果为-1,两个列表相等则为0 >>> list1 = [ 9 , 5 ] >>> list2 = [ 9 , 7 ] >>> cmp (list1,list2) - 1 >>> list2 = [ 9 , 5 ] >>> cmp (list1,list2) 0 >>> list2 = [ 7 , 9 ] >>> cmp (list1,list2) 1 |
标签:
原文地址:http://www.cnblogs.com/Kingway-Python/p/5808338.html