4.4 使用列表的一部分
4.4.1 切片
要创建切片,可指定使用的第一个元素的索引和最后一个元素的索引加1。
例如:
digits = [1,2,3,4,5,6,7]
print(digits[1:4])
输出:
[2, 3, 4]
如果你没有指定第一个索引,python将自动从列表开头开始
例如:
digits = [1,2,3,4,5,6,7]
print(digits[:4])
输出:
[1, 2, 3, 4]
同样的,如果没有指定最后一个索引,那么将一直执行到列表末尾
例如:
digits = [1,2,3,4,5,6,7]
print(digits[3:])
输出:
[4, 5, 6, 7]
也可以使用负数索引列表。
4.4.2 遍历切片
如果遍历列表的部分元素,可以在for循环中使用切片。
例如:
digits = [1,2,3,4,5,6,7]
print(digits[1:4])
for value in digits[1:4]:
print(value)
输出:
[2, 3, 4]
2
3
4
4.4.3 复制列表
要复制列表,可以创建一个包含整个列表的切片。方法是省略起始索引和终止索引。
例如:
digits = [1,2,3,4,5,6,7]
same = digits[:]
print(same)
输出:
[1, 2, 3, 4, 5, 6, 7]
还可以一个一个的复制。
例如:
same = []
digits = [1,2,3,4,5,6,7]
for value in digits:
same.append(value)
print(same)
输出结果是一样的。
4.5 元组
python 将不能修改的值称为不可变的,而不可变的列表被称为元组。
4.5.1 定义元组
元组看起来和列表一样,但使用圆括号而不是方括号来标识。
下面定义一个大小不改变的矩形,可将其长、宽储存在元组中。
例如:
dimension = (200,50)
print(dimension[0])
print(dimension[1])
输出:
200
50
如果我们进行修改元组dimension中的元素,结果就会报错。
TypeError: 'tuple' object does not support item assignment
4.5.2 遍历元组中的所有值
像列表一样,也可以使用for循环来遍历元组中的所有值。
形式和列表一样。
4.5.3 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可以重新定义整个元组:
例如:
dimension = (200,50)
print(dimension)
dimension = (400,100)
print(dimension)
输出:
(200, 50)
(400, 100)