列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
1、列表
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
在Python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。打印列表时将打印列表的内部表示,包括方括号。
列表元素访问方式与C语言数组相同。通过将索引指定为-1 ,可让Python返回最后一个列表元素。
1.1 列表操作
修改
motorcycles[0] = 'ducati'
直接通过索引修改列表元素。
添加
motorcycles.append('ducati')
方法append() 将元素ducati添加到了列表末尾。
motorcycles.insert(0, 'ducati')
使用方法insert() 可在列表的任何位置添加新元素。
删除
del motorcycles[0]
使用del 语句删除列表指定位置的元素。
popped_motorcycle = motorcycles.pop()
方法pop() 可删除列表末尾的元素,并能够接着使用它。在括号中指定要删除的元素的索引来删除列表中任何位置的元素。
motorcycles.remove('ducati')
使用方法remove() 删除列表中的相同的值。
1.2 组织列表
cars.sort()
方法sort() 对列表进行排序,永久性地修改了列表元素的排列顺序。如果按与字母顺序相反的顺序排列列表元素,只需向sort() 方法传递参数reverse=True 。
sorted(cars)
函数sorted() 按字母顺序排列列表元素,同时不影响它们在列表中的原始排列顺序。
cars.reverse()
使用方法reverse()反转列表元素的排列顺序 。永久性地修改列表元素的排列顺序。
len(cars)
使用函数len() 可快速获悉列表的长度。
1.3 避免索引错误
- 索引是从0开始的。
- 当列表为空时,使用索引-1访问最后一个元素会导致错误:
2、操作列表
2.1 遍历列表
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
使用for循环, 从列表magicians中取出一个元素并存储在变量magician中。for语句末尾有冒号。
for循环可以有多行,每个缩进的代码行都是循环的一部分。Python根据缩进来判断代码行与前一个代码行的关系。
2.2 数值列表
for value in range(1,5):
生成从1到5的数字,不包括5。或者只指定一个参数。
numbers = list(range(1,6))
使用函数list() 将range() 的结果直接转换为列表。使用range(2,11,2)可以指定步长。
min()、max()和sum()函数可以找出数字列表的最大值、最小值和总和。
squares = [value**2 for value in range(1,11)]
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。上面语句的作用是将值1~10提供给表达式value**2,生成存储到列表中的值。
print(players[0:3])
切片:指定显示前3个元素。没有指定起始索引,Python从列表开头开始提取。负数索引返回离列表末尾相应距离的元素。
可变的列表称为元组。使用圆括号进行标识。遍历方式和列表相同。
dimensions = (200, 5);
虽然不能修改元组的元素,但可以给存储元组的变量赋值。
2.3 设置代码格式
- 缩进:建议每级缩进四个空格。
- 行长:建议每行不超过80个字符。
- 空行:使用空行将程序的不同部分分隔开。