list
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
位置
用索引来访问list中每一个位置的元素,记得索引是从0
开始的,到 len-1结束
最后位置的索引也可以写为-1,因此,倒数第二个索引就是-2 依此类推
当索引超出了范围,就会报错
list元素的增删改查
list是一个有序的列表
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
也可以把元素插入到指定的位置,比如索引号为1
的位置:
要删除list末尾的元素,用pop()
方法:
要删除指定位置的元素,用pop(i)
方法,其中i
是索引位置:
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
list里面的元素的数据类型也可以不同,
list元素也可以是另一个list
要拿到'php'
可以写s[2][1]
,因此s
可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。
如果一个list中一个元素也没有,就是一个空的list,它的长度为0:
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。
其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]
,classmates[-1]
,但不能赋值成另外的元素。
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
Python在显示只有1个元素的tuple时,也会加一个逗号,
,以免你误解成数学计算意义上的括号。
最后来看一个“可变的”tuple:
所以,变得并不是tuple而是list