1
2
3
像字符串类型一样,列表类型也是序列式的数据类型,可以通过下标或者切片操作来访问某一个
或者一块连续的元素。字符串只能由字符组成,而且是不可变的,而列表则是能保留任意数目的
python对象的灵活的容器。
1
2
3
4
5
6
7
列表不仅可以包括python的标准类型,而且可以用用户定义的对象作为自己的元素。列表可以
包含不同类型的对象,而且要比C或者Python自己的数组类型都要灵活,因为数组类型所有的
元素只能是一种类型。列表可以执行pop,empt,sort,reverse等操作。列表可以添加或者删除
元素,还可以跟其他的列表结合或者把一个列表分成几个。可以对单独一个元素或者多个元素执行
insert、update或remove等。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置或者索引,第一
个索引是0,第二个索引是1,以此类推。

写几个列表:

1
2
3
hello = ['taokey','taoyake','xixi','19910720']
key = [1,2,3,0,6]
h2 = ["a","b","c"]

访问列表中的值:
用下标索引的方式来访问list,第一个索引是从0开始的,而不是从1。

1
2
3
4
5
6
7
8
hello[0]
'taokey'
hello[1]
'taoyake'
key[3]
0
h2[2]
'c'

列表的截取(列表的截取是从0开始的,截取到指定位置,但是输出是指定位置的前一位)

1
2
3
4
5
6
7
8
9
10
hello[2:4]
['xixi', '19910720']
key
[1, 2, 3, 0, 6]
key[1:3]
[2, 3]
key[1:4]
[2, 3, 0]
list_1[-1] #输出list列表中倒数第一个值
list_1[1:] #从第二个值开始截取

列表的替换

1
2
3
4
5
6
7
hello[1]
'taoyake'
hello[1] = 'jack'
hello[1]
'jack'
hello
['taokey', 'jack', 'xixi', '19910720']

del()
列表的删除,可以指定索引删除一个或者多个值

1
2
3
4
5
6
7
8
9
10
hello
['taokey', 'jack', 'xixi', '19910720']
del hello[0]
hello
['jack', 'xixi', '19910720']
key
[1, 2, 3, 0, 6]
del key[1:2]
key
[1, 3, 0, 6]

append()
在列表末尾添加新的对象:

1
2
3
4
5
6
7
hello = ['taokey','taoyake','xixi','19910720']
hello
['taokey', 'taoyake', 'xixi', '19910720']
hello.append(110)
hello.append(120)
hello
['taokey', 'taoyake', 'xixi', '19910720', 110, 120]

insert()
将指定对象插入列表的指定位置,加入是指定第二个,那就是从
0开始,添加到第二个值的位置。

1
2
3
4
5
6
7
8
hello = ['taoyake','xixi','haha','1991','2017']
hello.insert(2,100)
hello
['taoyake', 'xixi', 100, 'haha', '1991', '2017']
key = ['100','200','300','400','500']
key.insert(3,9999)
key
['100', '200', '300', 9999, '400', '500']

python遍历列表:
第一种方法:

1
2
3
4
5
6
7
8
9
key = ['100','200','300','400','500']
>>> for id in key:
... print id
...
100
200
300
400
500

第二种方法:(带索引序号)

1
2
3
4
5
6
7
8
9
10
11
hello = ['taoyake','xixi','haha','1991','2017','tyk','open']
for index,id in enumerate(hello):
... print index,id
...
0 taoyake
1 xixi
2 haha
3 1991
4 2017
5 tyk
6 open

python列表脚本操作符
len():长度

1
2
3
4
5
6
7
8
hello
['taoyake', 'xixi', 'haha', '1991', '2017', 'tyk', 'open']
len(hello)
7
key
['100', '200', '300', '400', '500']
len(key)
5

组合

1
2
3
4
5
6
hello+key
['taoyake', 'xixi', 'haha', '1991', '2017', 'tyk', 'open', '100', '200', '300', '400', '500']
hello
['taoyake', 'xixi', 'haha', '1991', '2017', 'tyk', 'open']
key
['100', '200', '300', '400', '500']

重复

1
2
3
4
['ok']*3
list_1=('ok')
list_1*3
'okokok'

元素是否存在列表中,如果存在则为True,不存在则为False
taoyake in [‘hello’,’taokey’,’taoyake’,’yak’]

1
2
3
4
5
6
hello = ['taoyake','xixi','haha','1991','2017','tyk','open']
'111' in hello
False
hello = ['taoyake','xixi','haha','1991','2017','tyk','open']
'tyk' in hello
True

python列表函数&&方法
cmp():
cmp(list_1,list_2)
list_1:第一个需要进行比较的列表
list_2:第二个需要进行比较的列表

返回的结果:
如果比较的两个列表是同一类型的元素,则两个列表的值进行比较,并且会返回一个结果。
假如两个列表中的元素不同一类型,则检查它们是否是数字。
如果是数字,执行必要的数字强制类型转换,然后比较。
如果有一方的元素是数字,则另一方的元素”大”(数字是”最小的”)
否则,通过类型名字的字母顺序进行比较。

list_1=[1,2,3]
list_2=(4,5,6)
cmp(list_1,list_2)
-1
cmp(list_2,list_1)
1
list_2=(1,2,3)
cmp(list_1,list_2)
0

max(list_1)
这个列表中最大的一个值

1
2
3
hello =[100,20,40,300,789]
max(hello)
789
1
2
3
4
5
6
min(list_1)
这个列表中最小的一个值
hello =[100,20,40,300,789]
min(hello)
20

list.sort()
对列表进行排序

1
2
3
4
hello=[100,20,40,300,789,90,234,74]
hello.sort()
hello
[20, 40, 74, 90, 100, 234, 300, 789]

list.count()
统计某个元素在列表中出现的次数

1
2
3
4
5
hello = ["a","b","c","a","c","a"]
hello.count("a")
3
hello.count("c")
2

list.extend()
在列表末尾一次性追加另一个序列中的多个值

1
2
3
4
5
list1=[111,222,333,"ok"]
list2=["book","open","look","ok"]
list1.extend(list2)
list1
[111, 222, 333, 'ok', 'book', 'open', 'look', 'ok']

list.pop()
移除列表中的一个元素(默认移除最后一个元素),并且返回该元素的值

1
2
3
4
5
6
7
8
9
10
list2
['book', 'open', 'look', 'ok']
list2.pop()
'ok'
list2
['book', 'open', 'look']
list2.pop(1)
'open'
list2
['book', 'look']

remove()
函数用于移除列表中某个值的第一个匹配项。

1
2
3
4
5
6
7
8
list1
[111, 222, 333, 'ok', 'book', 'open', 'look', 'ok']
list1.remove(111)
list1
[222, 333, 'ok', 'book', 'open', 'look', 'ok']
list1.remove('ok')
list1
[222, 333, 'book', 'open', 'look', 'ok']

list.reverse()
反向列表中元素

1
2
3
4
list1=["c","o","b","e","k"]
list1.reverse()
list1
['k', 'e', 'b', 'o', 'c']