python最常见的两种集合方式
分别为List和Tuple。我们可以用List和tuple来表示有序集合。
接下来我们分别讲一下list和tuple的组成。
List
list是python的一种内置数据类型,是一种有序的集合,可以随时进行增加和删减其中的元素。list的构造:
用[ ]将list中的元素括起来,就是一个list对象,通常会将list赋值给一个变量,通过变量来引用list:
例如:
family=['father','mother','I']#定义一个变量为family,list中为家庭成员
print (family)
list中包含的元素并不要求都必须为一种数据类型,list中还可以包含其他数据。
family=['father',35,'mother',33,'I',6]#list中的数据包括家庭成员和相应家庭成员的年龄
print (family)
上述都是直接打印出全部家庭成员的信息,如果要单独打印出指定的家庭成员,就用到了索引来获取list中的指定元素。
family=['father','mother','I']
print (family[0])#输出的为mother
由上面的例子可知,索引从0开始,第一个元素的索引为0,第二个为1,以此类推。
注意使用list索引时,不能越界,list中只有三个元素的,有效索引只用0,1,2。
print (family[1])#输出为father
print (family[2])#输出为I
print (family[-1])#输出为I,[-1]为list的最后一个数据
list新元素的增加
1 append(),将新元素追加到list的末尾:
family=['father','mother','I']
family.append('baby sister')#生了一个小妹妹
print (family)
append()总是将新的元素添加到list的尾部
2 insert(),他接受两个参数,第一个为索引号,第二个参数为新添加的元素
格式为
insert(索引号,元素)
family=['father','mother','I']
family.insert(2,'brother')#找到了失散多年的哥哥
print (family)
list元素的删减
pop()总是删除list的最后一个元素,并且会返回这个元素。
pop(索引号) 索引号可以定位相应元素的位置从而吧那个元素删除。
list元素的替换
用索引自动定位替换。
L = ['Adam', 'Lisa', 'Bart']
L[0]='Bart'
L[-1]='Adam'
print L
Tuple
tuple是另一种有序集合,tuple和list十分类似,但是tuple一旦创建完毕,就不能修改。
tuple和list唯一不同的是用 ( ) 替代 [ ]。
获取tuple的元素同样可以用索引但是不能赋值为别的元素。
注意:
因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
tuple中的元素是不变的但是当tuple中的元素包括list时,list中的元素可以改变。
例如:
t = ('a', 'b', ['A', 'B'])
L = t[2]
L[0] = 'X'
L[1] = 'Y'
print t
此时输出的结果为
('a', 'b', ['X', 'Y'])