2

Python のこの構造は遅延していないようです。

g1 = ["'"+x+"'" for x in f2]

これは次のとおりです。

g2 = ("'"+x+"'" for x in f2)

g2 にはnext()メソッドがあり、g1 にはメソッドがないためです。

これはどこに文書化されていますか? Python ドキュメントで関連ページが見つからないようです。何を調べたらよいかわかりません。

4

2 に答える 2

6

リスト表示ジェネレータ式を探しています。最初の形式は「リスト内包表記」と呼ばれ、リストを定義する特殊な形式です。

2 番目の形式であるジェネレーター式については、ドキュメントに次のように記載されています。

ジェネレーター式は、新しいジェネレーター オブジェクトを生成します。その構文は、括弧や中括弧の代わりに括弧で囲まれていることを除いて、内包表記と同じです。

于 2012-11-29T17:39:46.027 に答える
2

ここを見たいと思うかもしれません: http://www.python.org/dev/peps/pep-0289/

これは、ジェネレーター式とその背後にある理論的根拠を説明する PEP です。

于 2012-11-29T17:41:44.160 に答える