4

の逆を生成するジェネレーター/イテレーターを取得する方法はありますかenumerate:

from itertools import izip, count

enumerate(I) # -> (indx, v)
izip(I, count()) # -> (v, indx)

引き込まずにitertools

4

3 に答える 3

13

これは、単純なジェネレーター式で実行できます。

((v, i) for i, v in enumerate(some_iterable))

ここでは、出力を簡単に確認するためのリスト内包表記として:

>>> [(v, i) for i, v in enumerate(["A", "B", "C"])]
[('A', 0), ('B', 1), ('C', 2)]
于 2013-04-15T19:38:49.107 に答える
12
((v, indx) for indx, v in enumerate(I))

本当に避けたい場合itertools。なぜですか?

于 2013-04-15T19:39:06.450 に答える