我从 范围(len(列表))或枚举(列表)读取? 使用 range(len(s))
并不是编写 Python 的好方法。如果我们不需要循环 len(s)
次但例如 len(s)//3
次或 len(s)-5
times?是否可以将这些循环转换为使用 enumerate
?
例如,我有一个项目,其中有一个包含 3n 个元素“s[0]、s[1]、…、s[3n-1]”的列表,我需要将它们打印在 nx3 表中。我写了类似的代码
for i in range(len(s)//3):
row = str(s[3*i]) + " " + str(s[3*i+1]) + " " + str(s[3*i+2])
print(row)
原文由 Jaakko Seppälä 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您遍历整个列表:
如果你遍历整个列表,但你只需要索引:
如果您遍历整个列表,但不需要索引或数据:
如果您要遍历列表的一部分:
等等。
我不确定为什么要遍历列表的 _一部分_,这看起来很奇怪。我很想听听您的用例,因为它可能会得到改进。
查看您现在发布的代码,@Metareven 有一个很好的解决方案 - 以您要处理的大小的块迭代列表。