对于相反方向的循环

时间:2014-02-15 04:53:52

标签: python

我想在python中创建一个for循环来遍历列表。但是,我想让它以相反的方向通过列表。例如

  foo = [1a,2b,3c,4d]
  for number in foo:
      print number

此代码的结果应为: 4D 3C 2B 1A 而不是1a 2b 3c 4d。

任何优雅的方式来做到这一点?或者最好重新排序初始列表本身?

非常感谢您的建议

3 个答案:

答案 0 :(得分:5)

for number in reversed(foo):
    print number

这样做的好处是不会创建foo的反向副本; reversed在列表上返回一个反向迭代器。此外,它适用于支持len和使用整数索引的任何内容。

答案 1 :(得分:4)

foo = [1a,2b,3c,4d]
for number in foo[::-1]:
    print number

答案 2 :(得分:1)

用切片符号反转它

print foo[::-1]

<强>输出

['4d', '3c', '2b', '1a']

或使用reversed功能,

print "\n".join(reversed(foo))

<强>输出

4d
3c
2b
1a