Python 2.7 grammar rulesにマッチする最小限の有効なソースコードの例を作成できますか?ランタイムエラーが発生することはありませんか?Python 2.7文法Geek - リスト内のラムダ補完
(1) atom: '[' [listmaker] ']'
(2) listmaker: test list_for
(3) list_for: 'for' exprlist 'in' testlist_safe
(4) testlist_safe: old_test
(5) old_test: old_lambdef
(6) old_lambdef: 'lambda' [varargslist] ':' old_test
私がこれまで達することができる最良の結果は次のとおりです。
L = [ fn() for fn in (lambda: x for x in xrange(3)) ]
しかし、私の解決策の問題は、「ラムダ」を括弧で囲んであります。あなたはかっこなしの例を作ることができますか?もしそうでなければ、文法の規則に完全にマッチしたとしても、なぜラムダを構築できないのか説明してください。
これを行う特別な理由は何ですか? – user2357112
'old_test'と' old_lambdef'の定義は相互に再帰的です。私はそれが正しいとは思わない。 – jwodder
@ user2357112確かに:(1)から(6)までの記述された文法規則をトリガーするpythonソースコードを探しています。 – sqrt163