Python内置的一种数据类型是列表:list
。list是一种有序的集合,可以随时添加和删除其中的元素。
list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。
由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:
L = ['Michael', 100, True]
一个元素也没有的list,就是空list:
empty_list = []
按照索引访问list
需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。
使用索引时,千万注意不要越界,索引长度
倒序访问list
L = ['Adam', 'Lisa', 'Bart']
倒数第一用 -1表示 L[-1],倒数第二用 -2 表示 L[-2],倒数第三用 -3 表示 L[-3]
使用倒序索引时,也要注意不要越界。
list 添加新元素:
append()
方法,把新元素追加到 list 的末尾; L.append('Paul')
insert()
方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素 L.insert(0, 'Paul') ,意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。
从list删除元素
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素 L.pop()
如果Paul同学不是排在最后一个怎么办?比如Paul同学排在第三:
L = ['Adam', 'Lisa', 'Paul', 'Bart']
要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)
把Paul删掉:
替换元素
L = ['Adam', 'Lisa', 'Bart']
替换Bart L[2] = 'Paul'
---------------------------------------------------------------------------------------------------------
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
用tuple表示如下:
t = ('Adam', 'Lisa', 'Bart')
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素
tuple和list一样,可以包含 0 个、1个和任意多个元素。
包含多个元素的 tuple,前面我们已经创建过了。
包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:
eg:
1.空tuple
t = ()
print t
()
2.包含1个元素的 tuple
t = (1)
print t
1
注意:()
既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1,正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 必须要多加一个逗号“,”,这样就避免了歧义:
1.包含1个元素的 tuple
t = (1,)
print t
(1,)
2.多元素 tuple 加不加这个额外的“,”效果是一样的:
t = (1, 2, 3,)
print t
(1, 2, 3)