Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如:
列出班级同学姓名:
classmates = ['Mick','Jack','Pony'];
获取 classmates 元素的个数:
len(classmates)
通过索引访问:
classmates[0] ==> 'Mick'
classmates[-1] ==> 'Pony'
追加元素到 classmates 末尾:
classmates.append('Adam')
插入元素到 classmates 指定的位置:
classmates.insert(1, 'Wang')
删除list末尾的元素
classmates.pop()
删除指定位置的元素:
classmates.pop(1)
替换其中某个元素
classmates[1] = 'Sarah'
list里面元素的数据类型也可以不同
L = ['Apple', 123, true]
list里也可以放另外一个list
s = ['python', 'java', ['asp', 'php'], 'scheme']
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,
比如同样是列出同学的名字:
当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,
定义一个空的tuple:
t = ()
tuple的陷阱:
如果定义只有一个元素的 tuple 时,如果你这么定义:
t = (1)
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
正确的做法:
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
t = (1,)
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!