python语言学习9——使用list和tuple

时间:2022-01-24 01:56:43

list

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

位置

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

最后位置的索引也可以写为-1,因此,倒数第二个索引就是-2  依此类推

当索引超出了范围,就会报错

python语言学习9——使用list和tuple

list元素的增删改查

list是一个有序的列表

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

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

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

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

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

python语言学习9——使用list和tuple

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

list元素也可以是另一个list

要拿到'php'可以写s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。

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

python语言学习9——使用list和tuple

tuple

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

python语言学习9——使用list和tuple

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。

其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]classmates[-1],但不能赋值成另外的元素。

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

python语言学习9——使用list和tuple

最后来看一个“可变的”tuple:

python语言学习9——使用list和tuple

python语言学习9——使用list和tuple

所以,变得并不是tuple而是list