私が取り組んでいるモジュールでこのコードを見つけました:
l = opaque_function()
thingys = [x for y in l for x in y]
これが読めません。実験により、2 レベルのネストされたリストをフラット化していると判断できましたが、シンテックスはまだ不透明です。いくつかのオプションのブラケットが明らかに省略されています。
>>> l = [[1,2],[3,4]]
>>> [x for y in l for x in y]
[1, 2, 3, 4]
[x for y in [l for x in y] ]
私の目はそれを :またはとして解析したいと考えていますが、どちらも定義されていない[ [x for y in l] for x in y ]
ために失敗します。y
これはどう読むべきでしょうか?
(このことを説明されると、とても恥ずかしくなると思います。)