Slide 1

Slide 1 text

君ははcollectionsモジュールをを 知っているかっているか By ksnt 便利な!な!

Slide 2

Slide 2 text

概要 前半: collectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: 実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介

Slide 3

Slide 3 text

前半: collectcollectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: 実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介

Slide 4

Slide 4 text

collectionsモジュールをの概要と使い方概要 「汎用の の概要と使い方 Python 組み込みコンテナみ込みコンテナ みコンテナ dict, list, set, および tuple に使ってみて便利代わる、特殊なコわる、特殊なコンテナ特殊なコンテナデーなコンテナデータ型型 を実装」 (公式ドキュメントよドキュメントよりより)

Slide 5

Slide 5 text

namedtuple() 名前付きタプル。場所きタプル。場所にタ型プルを。場所に対するイ場所に対するインデに使ってみて便利対するインデックするインデックスの概要と使い方代わる、特殊なコわりに使ってみて便利名 前を使い方ってフィールをドに使ってみて便利アクセスできタプル。場所にるように使ってみて便利なる。場所に対するイ

Slide 6

Slide 6 text

deque ● スタ型ックと使い方キューを一般化したしたユースDeque(両端キューキュー)の概要と使い方実 装。場所に対するイDeque はどちらの概要と使い方側からも からも append と使い方 pop が可能で、ス可能で、スで、特殊なコンテナス レッドセーフでメモリ効率がよく、ど効率がよく、どちらが可能で、スよく、特殊なコンテナどちらの概要と使い方方向からもおよそ からもおよそ O(1) の概要と使い方パフォーマンスで実行できるできタプル。場所にる ● Pythonではキュー(FIFO)はQueueモジュールをで実装されている ● スタ型ック(LIFO)ははlistを使い方えばよい

Slide 7

Slide 7 text

ChainMap 複数の辞書やその他の概要と使い方辞書やその他の複数やその概要と使い方他の複数のマッピの概要と使い方複数の辞書やその他の概要と使い方マッピングを連結する。新を連結する。新しい辞する。場所に対するイ新しい辞書をしい辞書やその他の複数を 作成してしてupdate()を繰り返すより早いり返すより早いすより早いい 注)はよく見てみると中身はてみると使い方中身は違うっぽい?は違うっぽい?うっぽい? >>> ChainMap(adjustments,baseline) ChainMap({'art': 'van gogh', 'opera': 'charmen'}, {'music': 'bach', 'art': 'rembrant'}) >>> combined {'music': 'bach', 'art': 'van gogh', 'opera': 'charmen'}

Slide 8

Slide 8 text

Counter 要素を辞書のキーとを辞書やその他の複数の概要と使い方キーと使い方して保存してそのカウンしてその概要と使い方カウントよりを辞書やその他の複数の概要と使い方値 と使い方して保存してそのカウンするコレクション >>> Counter("This is a pen.") Counter({' ': 3, 'i': 2, 's': 2, 'T': 1, 'h': 1, 'a': 1, 'p': 1, 'e': 1, 'n': 1, '.': 1})

Slide 9

Slide 9 text

OrderedDict 普通の辞書に加えての概要と使い方辞書やその他の複数に使ってみて便利加えて順序操作にえて順序操作に使ってみて便利関する追加の機能する追加えて順序操作にの概要と使い方機能で、スが可能で、スある。場所に対するイたユースだし、特殊なコンテナ 組み込みコンテナみ込みコンテナ みの概要と使い方 dict クラスが可能で、ス挿入順序を記憶しておく機能 しておく機能で、ス (この概要と使い方新しい辞書をしい振る舞いは る舞いは いは Python 3.7 で保証されされ るように使ってみて便利なりましたユース) を獲得した今となってしたユース今となっては、順と使い方なっては、特殊なコンテナ順序付きタプル。場所きタプル。場所に辞書やその他の複数の概要と使い方重要性は薄れた。は薄れた。れたユース。場所に対するイ >>> od = OrderedDict({'a':1,'b':2,'c':3}) >>> list(reversed(od.keys())) ['c', 'b', 'a'] >>> list(reversed(od.values())) [3, 2, 1] >>> d = dict({'a':1,'b':2,'c':3}) >>> d {'a': 1, 'b': 2, 'c': 3} >>> d.values() dict_values([1, 2, 3]) >>> d.values()[::-1] Traceback (most recent call last): File "", line 1, in TypeError: 'dict_values' object is not subscriptable

Slide 10

Slide 10 text

defaultdict ● dict の概要と使い方初期化したを関する追加の機能数の辞書やその他に使ってみて便利したユースが可能で、スって実施する事がする事がが可能で、ス できタプル。場所にる。場所に対するイキーの概要と使い方存してそのカウン在確認の必要がない。の概要と使い方必要が可能で、スない。場所に対するイ(下記) (1) collectdictionaryを使い方ったユース場合 >>> s = "This is a pen." >>> d = {} >>> for key in s: ... d[key] += 1 ... Traceback (most recent call last): File "", line 2, in KeyError: 'T' (2) collectdefaultdictを使い方ったユース場合 >>> s = "This is a pen." >>> d = defaultdict(int) >>> for key in s: ... d[key] += 1 ... >>> print(d) defaultdict(, {'T': 1, 'h': 1, 'i': 2, 's': 2, ' ': 3, 'a': 1, 'p': 1, 'e': 1, 'n': 1, '.': 1})

Slide 11

Slide 11 text

defaultdictの概要と使い方使い方い方

Slide 12

Slide 12 text

UserDict 辞書やその他の複数オブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ dict から直接的にサブクラスに使ってみて便利サブクラス 化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底 の概要と使い方辞書やその他の複数に使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方で、特殊なコンテナこの概要と使い方クラスを 使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ

Slide 13

Slide 13 text

UserList この概要と使い方クラスはリ効率がよく、どストよりオブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイこれは独自のリの概要と使い方リ効率がよく、ど ストより風クラスの基底ククラスの概要と使い方基底クラスと使い方して便利な!で、特殊なコンテナ既存してそのカウンの概要と使い方メソッドをオーバーライド したユースり新しい辞書をしいメソッドを加えて順序操作にえたユースりできタプル。場所にる。場所に対するイこうして、特殊なコンテナリ効率がよく、どストよりに使ってみて便利新しい辞書をしい振る舞いは る舞いは いを加えて順序操作にえられる。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ list から直接的にサブクラスに使ってみて便利サブクラス化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分 的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底の概要と使い方リ効率がよく、どストよりに使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方 で、特殊なコンテナこの概要と使い方クラスを使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ

Slide 14

Slide 14 text

UserString 文字列オブジェクトのオブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ str から直接的にサブクラスに使ってみて便利サブクラス 化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底 の概要と使い方文字列オブジェクトのに使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方で、特殊なコンテナこの概要と使い方クラスを 使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ

Slide 15

Slide 15 text

前半: collectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: collect実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介

Slide 16

Slide 16 text

Given a string, sort it in decreasing order based on the frequency of characters. Example2: Example 1: Example3: 1. Counterを使い方ってきタプル。場所にれいなコードが可能で、ス書やその他の複数ける

Slide 17

Slide 17 text

2. defaultdictを使い方って簡単になることもあな集計ができるが可能で、スできタプル。場所にる(1) この概要と使い方データ型セットよりに使ってみて便利対するインデックして’star_rating’の概要と使い方値ごと使い方の概要と使い方商品数の辞書やその他を知っているかりたユースい

Slide 18

Slide 18 text

2. defaultdictを使い方って簡単になることもあな集計ができるが可能で、スできタプル。場所にる(2) star_ratingの概要と使い方種類が前もって分かが可能で、ス前もって分かって いれば普通の辞書に加えての概要と使い方dictを使い方ってカウントよりで きタプル。場所にる defaultdictを使い方えば前もってキーの概要と使い方 値を指定する必要がないする必要が可能で、スない

Slide 19

Slide 19 text

まと使い方め ● collectionsモジュールをを使い方うと使い方dict, list, set, および tuple を拡張した機能を使うしたユース機能で、スを使い方うこと使い方が可能で、ス出来、特殊なコンテナ便利な!なこと使い方が可能で、スある。場所に対するイ ● 実際に使ってみて便に使ってみて便利便利な!に使ってみて便利使い方えたユース(と使い方思ってもらえるかってもらえるかもしれない)は 場面を見てもらったを見てみると中身はてもらったユース