Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

【自習中】List comprehensionなるもの

List comprehension……包括リストとでも訳すべきなんでしょうか?
リストからリストを作るといった内容……のようです。

distinct from the use of map and filter functions.

なんて書かれるように、mapやらフィルタやらを適用するものとは、明確に区別される模様。

たとえば、リストAとリストBを式Cに適用した、その結果のリストDを得る……みたいな感じです。
Livescriptで、これを再現する場合、以下のような構文になります。

[x ** y for x in [100 387] for y in [2 4]]
#>> [ 10000, 100000000, 149769, 22430753361 ]

リストなんていうとLispを思い出しますが、
軽く調べた範囲ではPythonで割と推されてる文化みたいです。
Wikipediaの記述をみると

s = [2 * x for x in range(101) if x ** 2 > 3]

などと、何をやっているかわかるが、そこまでやる必要があるのかって例が出てます