Python序列之列表介绍

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

写几个列表:python

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

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

hello[0]
'taokey'
hello[1]
'taoyake'
key[3]
0
h2[2]
'c'

列表的截取(列表的截取是从0开始的,截取到指定位置,可是输出是指定位置的前一位)数据结构

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:] #从第二个值开始截取

列表的替换app

hello[1]
'taoyake'
hello[1] = 'jack'
hello[1]
'jack'
hello
['taokey', 'jack', 'xixi', '19910720']

del()
列表的删除,能够指定索引删除一个或者多个值ide

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()
在列表末尾添加新的对象:函数

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开始,添加到第二个值的位置。code

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遍历列表:
第一种方法:对象

key = ['100','200','300','400','500']
>>> for id in key:
...     print id
...
100
200
300
400
500

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

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():长度索引

hello
['taoyake', 'xixi', 'haha', '1991', '2017', 'tyk', 'open']
len(hello)
7
key
['100', '200', '300', '400', '500']
len(key)
5

组合

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']

重复

['ok']*3
list_1=('ok')
list_1*3
'okokok'

元素是否存在列表中,若是存在则为True,不存在则为False
taoyake in ['hello','taokey','taoyake','yak']

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)
这个列表中最大的一个值

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

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

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

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

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

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

list1=[111,222,333,"ok"]
list2=["book","open","look","ok"]
list1.extend(list2)
list1
[111, 222, 333, 'ok', 'book', 'open', 'look', 'ok']

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

list2
['book', 'open', 'look', 'ok']
list2.pop()
'ok'
list2
['book', 'open', 'look']
list2.pop(1)
'open'
list2
['book', 'look']

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

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()
反向列表中元素

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