定义
列表由一系列按特定顺序排列的元素组成。
你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
格式
python中使用中括号([ ])表示列表,列表内的元素使用逗号分隔。例如:[1,2,3,'a','b','c']
打印一个最简单的列表:
bicycles = ['trek','cannondale','redline','specialized']print(bicycles)
输出
['trek', 'cannondale', 'redline', 'specialized']
注意:列表的名称(如:‘bicycles’)最好有一定的含义,如果是个复数,也是不错的
看了上面打印出来的列表,发现这种格式并不是用户想要的。怎么办呢?继续往下看
如何访问列表
列表是有序集合,访问列表中的任何元素,只需将元素的位置索引告诉解释器即可。
bicycles = ['trek','cannondale','redline','specialized']print(bicycles[0])
输出
trek
我们取出列表‘bicycles’中的第一个元素‘trek’,也就是索引值0对应的元素。这样打印出来的值看起来是不是舒服多了。
也可以结合之前字符串中将的内容一起使用,例如:
bicycles = ['trek','cannondale','redline','specialized']print(bicycles[0].title())
输出
Trek
索引
索引从0开始而不是从1开始!!!这和列表操作的底层实现有关,可以将需要操作的列表元素,位置减一,可以得到索引值。
bicycles = ['trek','cannondale','redline','specialized']print(bicycles[1])print(bicycles[3])
输出
cannondale
specialized
在列表中访问最后一个元素提供了一种特殊方法,索引值为-1表示最后一个元素,索引值为-2表示倒数第二个元素,-3表示倒数第三个元素,以此类推
bicycles = ['trek','cannondale','redline','specialized']print(bicycles[-1])
输出
specialized
使用列表中的值
既然我们可以把列表中的元素取出来,那要怎么使用呢?
bicycles = ['trek','cannondale','redline','specialized']
message= 'My first bicycle was a' + bicycles[2].title() + '.'
print(message)
输出
My first bicycle was a Redline.
首先定义一个列表,然后定义一个变量,变量里的字符串中可以插入取出来的元素。这样我们就可以生成新的一句话。
列表中常见的错误
1、因为索引不对,比如一个列表中有三个元素,而查找的索引为3,当然找不到了,索引是从0开始的
care = ['bmw','audi','toyota','123']print(care[3])
输出
Traceback (most recent call last):
File"care.py", line 2, in
print(care[3])
IndexError: list index out of range
解释器在列表‘care’中找不到索引值为3的元素,所以解释器会报出异常:IndexError(索引错误)
2、当列表为空是,查找最后一个列表元素时,报出异常。索引值为-1
为什么这么说?别忘了,每当需要访问最后一个列表元素时,都可使用索引-1 。这在任何情况下都行之有效,即便你最后一次访问列表后,其长度发生了变化,唯独列表为空时不行。
care =[]print(care[-1])
输出
Traceback (most recent call last):
File"care.py", line 2, in
print(care[-1])
IndexError: list index out of range