56

返さないで値を生成したいリストがあるとします。それを行うための最もpythonicな方法は何ですか?

これが私の言いたいことです。非遅延計算のおかげで list を計算しました['a', 'b', 'c', 'd']が、プロジェクトのコードは遅延計算を使用しているため、リスト全体を返すのではなく、関数から値を生成したいと考えています。

私は現在、次のように書いています。

my_list = ['a', 'b', 'c', 'd']
for item in my_list:
    yield item

しかし、これは私にはpythonicではありません。

4

4 に答える 4

38

iterリスト反復子を作成するために使用します。

return iter(List)

ただし、すでにリストがある場合は、それを返すことができます。これはより効率的です。

于 2010-03-23T08:24:34.920 に答える
2

と言ってジェネレーターを構築できます

(x for x in List)
于 2010-03-23T08:18:51.013 に答える