我正在尝试反转 enumerate
给出的索引,同时保留被枚举列表的原始顺序。
假设我有以下内容:
>> range(5)
[0, 1, 2, 3, 4]
如果我列举这个,我会得到以下内容:
>> list(enumerate(range(5)))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
但是我想反转枚举提供的索引,以便我得到:
[(4, 0), (3, 1), (2, 2), (1, 3), (0, 4)]
到目前为止,我有以下代码:
reversed(list(enumerate(reversed(range(5)))))
我只是想知道是否有更简洁的方法来做到这一点?
原文由 rozzy 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何使用 zip 而不是反向范围?
正如@julienSpronk 所建议的那样,使用
izip
来获得一个生成器,还有xrange
: