当前位置:嗨网首页>书籍在线阅读

11-列表用于循环

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.2.1 列表用于循环

在第2章中,我们学习了使用循环让一段代码执行一定次数。从技术上说,循环是针对一个列表或列表中的每个值,重复地执行代码块。例如,如果执行以下代码:

for i in range(4):
    print(i)

程序的输出结果将是:

0
1
2
3

这是因为 range(4) 的返回值是类似列表的值。Python认为它类似于 [0, 1, 2, 3] 。(序列在4.6节的“序列数据类型”中介绍。)下面的程序和前面的程序输出结果相同:

for i in [0, 1, 2, 3]:
    print(i)

前面的 for 循环实际上是在循环执行它的子句,在每次迭代中,将变量 i 依次设置为列表 [0, 1, 2, 3] 中的值。

一个常见的Python技巧是,在 for 循环中使用 range(len(someList)) ,迭代列表的每一个索引。例如,在交互式环境中输入以下代码:

>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i in range(len(supplies)):
...     print('Index ' + str(i) + ' in supplies is: ' + supplies[i])
Index 0 in supplies is: pens
Index 1 in supplies is: staplers
Index 2 in supplies is: flame-throwers
Index 3 in supplies is: binders

在前面的循环中使用 range(len(supplies)) 很方便,这是因为循环中的代码可以访问索引(通过变量 i ),以及索引处的值(通过 supplies[i] )。最妙的是, range(len(supplies)) 将迭代 supplies 的所有索引,无论它包含多少表项。