1. 列表list
list是一种有序的集合,能随时删除和添加其中的元素。
['a','b','c']
由于Python是动态语言,所以list中的元素可以是不同数据类型的元素。
l=['a',10,1<2,2.0]
一个元素也没有的list是一个空list。
a=[]
1.1 按照索引访问List
通过索引从列表中获取指定的元素,需要注意的是索引从0开始。倒序访问,从-1开始。
l=['Adam','Lisa','Bart']
print l[0] #获取第一个
print l[1]
print l[2]
print l[-1] #获取最后一名
1.2 List列表中添加元素
利用append()命令
l=['Adam','Lisa','Bart']
l.append('aki')
print l
append()总是把新的元素添加到尾部。
如果要把新的元素插入到第一的位置,利用insert()命令。
insert(索引号,新元素)
l=['Adam','Lisa','Bart']
l.insert(0,'zoe')
print l
1.3 List列表中删除元素
如果是从列表尾部删除一个元素,可以利用pop()命令。
#删除最后一个元素
l=['Adam','Lisa','Bart']
l.pop()
#连续删除第2和第3个
l=['Adam','Lisa','Bart']
l.pop(2)
l.pop(1)
1.4 List列表中替换元素
#把Bart替换成Paul
l=['Adam','Lisa','Bart']
l[2]='Paul'
2. 元组tuple
tuple是另一种有序列表,中文翻译是元组。不过,tuple()一旦建立就不能添加赋值。
l=('Adam','Lisa','Bart')
2.1tuple()中获取元素
从tuple()中获取元素和list中一样。
l=('Adam','Lisa','Bart')
l[0] #获取第一个元素
l[-1] #获取最后一个元素
2.2 创建一个单元素tuple
包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示
t=()
创建包含1个元素的 tuple 呢,
t=(1) #表示整数1而不是tuple
由于()也表示运算的优先级,所以为了区分,Python规定单元素tuple要多加一个逗号(,)。
t=(1,) #(1,)
多元素 tuple 加不加这个额外的“,”效果是一样的。
t=(1,2,3,) #(1,2,3)
2.3 tuple的指向不变性
前面提到tuple一旦定义就不能修改,现在来谈一个”可变”的tuple。如例:
t=('a','b',['A','B'])
t是一个包含3个元素的tuple:字符串a、b和列表[‘A’,’B’]。
t=('a','b',['A','B'])
l=t[2]
l[0]='X'
L[1]='Y'
print t
输出结果为(’a’,’b’,[‘X’,’Y’])。表面上看tuple内的元素却是变了,但是其实变的是list中的元素。tuple一开始指向的list并没有变成其他的list。tuple中的每一个元素的指向永远不变,即指向a就不能指向b,指向list就不能指向其他对象。但是对象list本身内部是可以变的。