python(itertoolsなどを使用して)でネストされた反復可能な要素f
を対応するリストまたはタプルに簡単に変換できますか?私はf
を保存して、それを複数回反復することができます。つまり、f
のいくつかのネストされた要素がジェネレータである場合、問題が発生します。ネストされたiterableをリストに変換する
入出力の例を示します。
>>> g = iter(range(2))
>>> my_input = [1, [2, 3], ((4), 5), [6, g]]
>>> magical_function(my_input)
[1, [2, 3], [[4], 5], [6, [0, 1]]]
出力がタプルで構成されていても問題ありません。問題は、g
を反復することでそれを「消費」するため、再度使用することはできません。
ネストされた反復可能プログラムの「対応するリスト」とはどういう意味ですか? iterableを平坦化しますか?もしそうなら、1レベルの平坦化、nレベルの平坦化、または再帰的な平坦化が必要ですか? – user2357112
私は平坦化を望んでいません。 "対応リスト"によって、私は '' f''のネストされた構造を保持したいと考えています。 –
いくつかのコードサンプルを提供してもよろしいですか? – Nilesh