Discuss / Python / 使用list和tuple

使用list和tuple

Topic source

老夫007

#1 Created at ... [Delete] [Delete and Lock User]

classmates = ['Michael', 'Bob', 'Tracy']

len()函数可以获得list元素的个数

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

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

list是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>> classmates.append('Adam')

也可以把元素插入到指定的位置,比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')

要删除list末尾的元素,用pop()方法:

>>> classmates.pop()
'Adam'

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)
'Jack'

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> classmates[1] = 'Sarah'

list里面的元素的数据类型也可以不同,list元素也可以是另一个list

s可以看成是一个二维数组,类似的还有三维、四维……数组

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

>>> classmates = ('Michael', 'Bob', 'Tracy')

classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]classmates[-1],但不能赋值成另外的元素。

因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t
(1,)

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。


  • 1

Reply