Hatena::Groupfukuoka-py

shikajiro.py RSSフィード

2008-11-06

リスト内包

| 00:59 | リスト内包 - shikajiro.py を含むブックマーク はてなブックマーク - リスト内包 - shikajiro.py リスト内包 - shikajiro.py のブックマークコメント

JavaプログラマのしかじろうはPythonの「リスト内包」にはびっくりしたよ!

配列フィルタする処理です。

下記の二つの結果が(だいたい)同じという衝撃。

Python

    list = [1,2,3,4,5,6,7,8,9,10]
    print [v for v in list if v > 5]

Java

    int list[] = {1,2,3,4,5,6,7,8,9,10};
    for(int i : list){
        if(i > 5){
            System.out.print(i);
        }
    }

応用

配列関数を適用できる。

以下は配列の中身を合計する例。

    list = [1,2,3,4,5,6,7,8,9,10]
    print sum([v for v in list])

55

ディクショナリも作れる。

Javaで言うMap。

    list = [1,2,3,4,5,6,7,8,9,10]
    print dict([(v,v*10) for v in list])

{2: 20, 4: 40, 9: 90, 8: 80, 6: 60, 1: 10, 3: 30, 10: 100, 7: 70, 5: 50}

m-hashimotom-hashimoto 2008/11/07 10:31 ぼくもびっくりしました。
ぱっとみ、いみがわかりませんでした。

re_shikajirore_shikajiro 2008/11/07 23:21 鹿も初めて見たとき、フリーズしてしまいました。

HanspeterHanspeter 2012/02/21 04:11 BS low - raitoanlity high! Really good answer!

lxewherolxewhero 2012/02/21 19:34 lNHMNO <a href="http://qavbezztgzzx.com/">qavbezztgzzx</a>

vgqlnmikvgqlnmik 2012/02/22 00:20 sv3WMu , [url=http://zrcxixscxfuq.com/]zrcxixscxfuq[/url], [link=http://sponvuzoncxv.com/]sponvuzoncxv[/link], http://wrnomkxniwjl.com/

uhxvurtztuhxvurtzt 2012/02/29 02:16 RKWecy <a href="http://dxatxioxkcfd.com/">dxatxioxkcfd</a>

ゲスト



トラックバック - http://fukuoka-py.g.hatena.ne.jp/re_shikajiro/20081106