list和tuple
List: Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。(看做C语言里面的数组)
如:classmates = [‘Michael’, ‘Bob’, ‘Tracy’]
(1)len()函数:获得list元素的个数,如len(classmates),结果为3。
(2)List索引和数组一样,List[0], List[1], List[3].
(3)超出索引范围报错IndexError。防止报错用len(classmates) – 1(最后一个元素)。
(4)Python还可以从后往前索引,如:List[-1], List[-2], List[-3].
(5)list里面的元素的数据类型也可以不同,如:L = [‘Apple’, 123, True]
(6)list元素也可以是另一个list,如:s = [‘python’, ‘java’, [‘asp’, ‘php’], ‘scheme’],要取’php’,用s[2][1].
(7)空的list,它的长度为0:L = []
List的基本操作:
(1)追加元素(末尾):列表名.append[追加元素],如:classmates.append(‘Adam’)
(2)插入元素:列表名.insert[插入元素],如:classmates.insert(1, ‘Jack’)
(3)删除元素(末尾):列表名.pop[插入元素],如:classmates.pop()
(4)删除元素(任意):列表名.pop[索引位置],如:classmates.pop(1)
(5)替换元素:列表名 [索引位置]=替换元素,如:classmates[1] = ‘Sarah’
Tuple:另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
(1) tuple不可变,意味着tuple比list更安全。提倡用tuple.
(2) 定义tuple元素必须确定,如:t = (1, 2)
(3) 定义tuple可为空,如:t = ()
(4) 定义tuple元素只有一个时,为了避免歧义,用逗号隔开,如:t = (1,)
(5) Tuple也“可变”,如
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
因此理解tuple不变,意思是tuple的指向不变。Tuple可变,是元素可变。