2.11.6 遍历

遍历是指逐一访问集合中的所有元素,利用for和in关键字,我们可以很容易地实现遍历。


countries = ['China', 'australia', 'singapore', 'Thailand']
for country in countries:
    print(country)

执行结果如下:


China
australia
singapore
Thailand

在上面的例子中,部分国家名的首字母没有大写,书写不规范,我们来尝试在遍历中把这样的问题修改过来。


countries = ['China', 'australia', 'singapore', 'Thailand']

for country in countries:
    country = country.capitalize()
    print(country)

print()
for country in countries:
    print(country)

执行结果如下:


China
Australia
Singapore
Thailand

China
australia
singapore
Thailand

从结果上来看,显然大小写的问题没有被修正过来。要在遍历的过程中修改list中的元素,我们应该用下标来遍历。

首先,我们来了解range函数,它以指定的值为区间,生成一个数字序列,这个函数的第一个参数是数值区间的最小值(包含),第二个参数是最大值(不包含)。

比如range(0,5),会生成一个数值序列,包含0、1、2、3、4。


numbers = range(0, 5)
for number in numbers:
    print(number)

执行结果如下:


0
1
2
3
4

如果只提供一个参数,则0被默认认定为区间的最小值,提供的参数认定为最大值(不包含)。


numbers = range(3)
for number in numbers:
    print(number)

执行结果如下:


0
1
2

这个函数的返回值设计正好和list下标的特性比较吻合,我们可以利用这个函数来辅助遍历list。


countries = ['China', 'australia', 'singapore', 'Thailand']

for index in range(len(countries)):
    countries[index] = countries[index].capitalize()

for country in countries:
    print(country)

执行结果如下:


China
Australia
Singapore
Thailand