List

python中内置的一种数据类型,列表:list。 list是一种有序的集合,可以随时添加或删除其中的元素。


比如,列出一个班上的所有同学的名字,就可以使用一个List:

>>>classmate = ['Michael','Bob','Tom']

>>>classmate

['Michael','Bob','Tom'] 

classmate就是一个list。使用len()可以获得list元素的个数。

用索引访问list中的每一个位置的元素,索引从0开始。

如果要获取最后一个位置的元素可使用-1做索引。

>>>classmate[-1]

'Tom'

list是一个可变的有序表,可以往list中追加元素到末尾:
>>>classmate.append('Jhon')

>>>classmate

['Michael','Bob','Tom','Jhon']

也可以将元素插入到指定位置:

classmate.insert(1,'Jack')

删除list末尾的元素使用:pop()

>>>classmate.pop()

>>>'Jhon'

>>>classmate

['Michael','Bob','Tom'] 

要删除指定位置的元素,使用pop(i)

若要替换某个元素,可以直接赋值给对应的索引位置。

classmate[1]='Mark'

list中的元素类型也可以不同。也可以是另外一个list。

如果一个list中一个元素也没有,那么就是一个空的list,它的长度为0:

>>>len([])

0


tuple 

另外一种有序的列表叫做元组:tuple。tuple与list区别在于一旦初始化将无法更改。其他获取元素的方法与list相同。

因为tuple的不可变行,可以使代码更安全。所以,能用tuple代替list就用tuple。

tuple的陷阱,当定义一个tuple时,tuple的元素就必须确定下来。比如:
t = (1,2)

要定义一个空的tuple可以使用

>>>t=()

>>>t

()

如果定义一个元素的tuple

>>>t=(1,)

>>>t

(1,)

当,tuple元素中包含list时,list中的内容可以改变。

>>>t=('a',4,['d','f'])

>>>t[2][0]=True

>>>t[2][1]='Tom'

>>>t

('a',4,[True,'Tom'])

表面上tuple中元素是发生了改变。但其实变的是list中的元素,tuple开始指向的list并没有变成别的list。tuple所谓的不变,指的是tuple的每个元素,指向永远不变。