collectionsライブラリについて

pyhonの標準ライブラリである。collectionsについて紹介です。

公式ドキュメント

defaultdict

これめっちゃ便利です!!

辞書でキーが見つからなかった場合に、defaultを指定できます。

そんなことかと思いますが、以下のように応用が可能です。

以下の例は、キー毎にリストを生成するサンプルです。

  • コード

    >>> from collections import defaultdict
    >>>
    >>> list = [('A',1),('A',2),('B',3),('B',4)]
    >>> groups = defaultdict(lambda: [])
    >>>
    >>> for key, value in list:
    ...     groups[key].append(value)
    ...
    >>> groups
    defaultdict(<function <lambda> at 0x10140a9d8>, {'A': [1, 2], 'B': [3, 4]})```
    

OrderedDict

辞書とリストの両方の性質をもつクラスです。(JavaでいうLinkedHashMapみたいなやつです。)

  • コード

    >>> from collections import OrderedDict
    >>> quotes = OrderedDict([
    ... ('Mce', 'A wise guy, huh?'),
    ... ('Larry', 'Ow!'),
    ... ('Curly', 'Nyuk nyuk!'),
    ... ])
    >>>
    >>> for key, value in quotes.items():
    ...   print(key, value)
    ...
    Mce A wise guy, huh?
    Larry Ow!
    Curly Nyuk nyuk!
    

辞書の部分は、タプルで記述します。

(key, value)

Counter

配列の各要素の数を求めてくれます。

from collections import Counter

data = ['aaa', 'bbb', 'ccc', 'aaa', 'ddd']
counter = Counter(data)
for word, cnt in counter.most_common():
    print word, cnt # =>
                    #   aaa 2
                    #   bbb 1
                    #   ccc 1
                    #   ddd 1

大変勉強になりました。ありがとうございました。

以上です。

勉強に使用している本

非常に分かりやすくておすすめです。

プログラムは経験あるけどPythonは初心者って方に、絶対おすすめの1冊です。

comments powered by Disqus