列表是一组任意类型的值,按照一定顺序组合而成的。组成列表的值 叫做元素(Elements)。每一个元素被标识一个索引,第一个索引也是0。列 表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套。
列表中的元素用中括号括起来,以逗号分割元素。
>>> [10, 20, 30, 40]
>>> ["spam", "bungee", "swallow"]
>>> ["name", 12]
第一个列表包含四个整数。第二个列表包含三个字符串。
下面的列表包含三种类型的元素:一个字符串,一个浮点数,一个整 数,还有另外一个列表:
>>>["hello", 2.0, 5, [10,20]]
列表的元素还可以是变量。但是修改变量的值,并不影响列表中元素的值。
>>> a = 1
>>> b = 2
>>> num = [a, b, 3]
>>> print num
[1, 2, 3]
>>> a = b =9
>>> print num
[1, 2, 3]
包含连续整数的列表是很常见的,因此Python提供一种简单的方法创建他们:
>>>range(1,5)
>>>[1, 2, 3, 4]
函数range返回一个整数列表,列表从函数的第一个参数开始,到最后 一个参数结束,不包含最后一个参数,相邻两数之间的差值是1。
range函数还有另外两种形式。单一参数的range函数,产生从0开始的列表:
>>>range(10)
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3个参数的range函数,产生一个在数学上成为等差数列的列表。这个 例子产生一个从1到10,步长为2的列表:
>>>range(1,10,2)
>>>[1,3,5,7,9]
最后,还有一种特殊不包含元素的列表,称为空列表。并且它被表示 为”[]”。列表可以赋值,或作为参数传递给函数。
读写列表中元素的方法与读写字符串中字符的方法一样-都是通过操作符 “[ ]”。中括号内的表达式代表索引,请记住索引是从0开始的。
>>> numbers = [13, 15]
13
>>> print numbers[0]
>>> numbers[1] = 5
>>> print numbers[1]
5
索引可以是任何整数表达式,但不能是浮点数:
>>> numbers[3 - 2]
5
>>> numbers[1.0] #列表的索引必须是整数。
TypeError: sequence index must be integer
如果你读写一个不存在的元素,将会发生一个运行时错误:
>>> numbers[2] = 5 #索引超出范围。
IndexError: list assignment index out of range
错误的提示表明,索引超出了这个列表的范围。
索引也可以是一个负数,那么列表的最后一个元素的索引是-1,倒数 第二个的索引是-2,依此类推:
>>> numbers = [1, 2, 3, 4]
>>> numbers = [-1]
4
>>> numbers[-2]
3
>>> numbers[-3]
2
>>> numbers[-4]
1