如何循环遍历列表?

新手上路,请多包涵

我想遍历一个 Python 列表并一次处理 2 个列表项。在另一种语言中是这样的:

 for(int i = 0; i < list.length(); i+=2)
{
   // do something with list[i] and list[i + 1]
}

实现这一目标的最佳方法是什么?

原文由 froadie 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 522
2 个回答

您可以使用步长为 2 的 range

蟒蛇2

 for i in xrange(0,10,2):
  print(i)

蟒蛇 3

 for i in range(0,10,2):
  print(i)

注意: 在 Python 2 中使用 xrange 而不是 range 因为它更有效,因为它生成一个可迭代对象,而不是整个列表。

原文由 Brian R. Bondy 发布,翻译遵循 CC BY-SA 4.0 许可协议

您还可以使用此语法 ( L[start:stop:step] ):

 mylist = [1,2,3,4,5,6,7,8,9,10]
for i in mylist[::2]:
    print i,
# prints 1 3 5 7 9

for i in mylist[1::2]:
    print i,
# prints 2 4 6 8 10

第一位是起始索引(默认为列表开头或 0),第二位是结束切片索引(默认为列表结尾),第三位是偏移量或步长。

原文由 jathanism 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题