Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
君はcollectionsモジュールを知っているか
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ksnt
July 31, 2019
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
君はcollectionsモジュールを知っているか
ksnt
July 31, 2019
More Decks by ksnt
See All by ksnt
AutoGenを触ってみた
ksnt
0
360
データ分析者にとってのDjango: StreamlitやDashとの比較
ksnt
1
2k
データ分析で切り拓け! エンジニアとしてのデータ分析職キャリア戦略
ksnt
0
1.1k
勉強会で発表してみよう!
ksnt
0
350
Kaggleに置かれているデータを 可視化する
ksnt
0
440
CourseraのDigital Transformationというコースを受けてみた
ksnt
2
730
Pythonで挑む計算社会科学
ksnt
0
1.6k
turtleであそぼう!
ksnt
0
310
データ分析と競技プログラミングに使えるPython標準ライブラリ入門
ksnt
1
710
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Done Done
chrislema
186
16k
Product Roadmaps are Hard
iamctodd
55
13k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Building the Perfect Custom Keyboard
takai
2
870
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The browser strikes back
jonoalderson
0
1.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Building an army of robots
kneath
307
46k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Transcript
君ははcollectionsモジュールをを 知っているかっているか By ksnt 便利な!な!
概要 前半: collectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: 実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介
前半: collectcollectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: 実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介
collectionsモジュールをの概要と使い方概要 「汎用の の概要と使い方 Python 組み込みコンテナみ込みコンテナ みコンテナ dict, list, set, および
tuple に使ってみて便利代わる、特殊なコわる、特殊なコンテナ特殊なコンテナデーなコンテナデータ型型 を実装」 (公式ドキュメントよドキュメントよりより)
namedtuple() 名前付きタプル。場所きタプル。場所にタ型プルを。場所に対するイ場所に対するインデに使ってみて便利対するインデックするインデックスの概要と使い方代わる、特殊なコわりに使ってみて便利名 前を使い方ってフィールをドに使ってみて便利アクセスできタプル。場所にるように使ってみて便利なる。場所に対するイ
deque • スタ型ックと使い方キューを一般化したしたユースDeque(両端キューキュー)の概要と使い方実 装。場所に対するイDeque はどちらの概要と使い方側からも からも append と使い方 pop が可能で、ス可能で、スで、特殊なコンテナス
レッドセーフでメモリ効率がよく、ど効率がよく、どちらが可能で、スよく、特殊なコンテナどちらの概要と使い方方向からもおよそ からもおよそ O(1) の概要と使い方パフォーマンスで実行できるできタプル。場所にる • Pythonではキュー(FIFO)はQueueモジュールをで実装されている • スタ型ック(LIFO)ははlistを使い方えばよい
ChainMap 複数の辞書やその他の概要と使い方辞書やその他の複数やその概要と使い方他の複数のマッピの概要と使い方複数の辞書やその他の概要と使い方マッピングを連結する。新を連結する。新しい辞する。場所に対するイ新しい辞書をしい辞書やその他の複数を 作成してしてupdate()を繰り返すより早いり返すより早いすより早いい 注)はよく見てみると中身はてみると使い方中身は違うっぽい?は違うっぽい?うっぽい? >>> ChainMap(adjustments,baseline) ChainMap({'art': 'van gogh', 'opera':
'charmen'}, {'music': 'bach', 'art': 'rembrant'}) >>> combined {'music': 'bach', 'art': 'van gogh', 'opera': 'charmen'}
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})
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 "<stdin>", line 1, in <module> TypeError: 'dict_values' object is not subscriptable
defaultdict • dict の概要と使い方初期化したを関する追加の機能数の辞書やその他に使ってみて便利したユースが可能で、スって実施する事がする事がが可能で、ス できタプル。場所にる。場所に対するイキーの概要と使い方存してそのカウン在確認の必要がない。の概要と使い方必要が可能で、スない。場所に対するイ(下記) (1) collectdictionaryを使い方ったユース場合 >>> s =
"This is a pen." >>> d = {} >>> for key in s: ... d[key] += 1 ... Traceback (most recent call last): File "<stdin>", line 2, in <module> KeyError: 'T' (2) collectdefaultdictを使い方ったユース場合 >>> s = "This is a pen." >>> d = defaultdict(int) >>> for key in s: ... d[key] += 1 ... >>> print(d) defaultdict(<class 'int'>, {'T': 1, 'h': 1, 'i': 2, 's': 2, ' ': 3, 'a': 1, 'p': 1, 'e': 1, 'n': 1, '.': 1})
defaultdictの概要と使い方使い方い方
UserDict 辞書やその他の複数オブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ dict から直接的にサブクラスに使ってみて便利サブクラス 化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底 の概要と使い方辞書やその他の複数に使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方で、特殊なコンテナこの概要と使い方クラスを 使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ
UserList この概要と使い方クラスはリ効率がよく、どストよりオブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイこれは独自のリの概要と使い方リ効率がよく、ど ストより風クラスの基底ククラスの概要と使い方基底クラスと使い方して便利な!で、特殊なコンテナ既存してそのカウンの概要と使い方メソッドをオーバーライド したユースり新しい辞書をしいメソッドを加えて順序操作にえたユースりできタプル。場所にる。場所に対するイこうして、特殊なコンテナリ効率がよく、どストよりに使ってみて便利新しい辞書をしい振る舞いは る舞いは いを加えて順序操作にえられる。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ list から直接的にサブクラスに使ってみて便利サブクラス化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分
的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底の概要と使い方リ効率がよく、どストよりに使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方 で、特殊なコンテナこの概要と使い方クラスを使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ
UserString 文字列オブジェクトのオブジェクトよりの概要と使い方ラッパと使い方してはたユースらく。場所に対するイ 注) この概要と使い方クラスの概要と使い方必要性は薄れた。は、特殊なコンテナ str から直接的にサブクラスに使ってみて便利サブクラス 化したできタプル。場所にる能で、ス力に部分的に取っに使ってみて便利部分的にサブクラスに使ってみて便利取って代わられたって代わる、特殊なコわられたユース; しかし、特殊なコンテナ根底 の概要と使い方文字列オブジェクトのに使ってみて便利属性は薄れた。と使い方してアクセスできタプル。場所にるの概要と使い方で、特殊なコンテナこの概要と使い方クラスを 使い方ったユース方が可能で、ス簡単になることもあに使ってみて便利なること使い方もある。場所に対するイ
前半: collectionsモジュールをの概要と使い方概要と使い方使い方い方 を紹介 後半: collect実際に使ってみて便に使ってみて便利使い方ってみて便利な!だったユースユース ケースの概要と使い方紹介
Given a string, sort it in decreasing order based on
the frequency of characters. Example2: Example 1: Example3: 1. Counterを使い方ってきタプル。場所にれいなコードが可能で、ス書やその他の複数ける
2. defaultdictを使い方って簡単になることもあな集計ができるが可能で、スできタプル。場所にる(1) この概要と使い方データ型セットよりに使ってみて便利対するインデックして’star_rating’の概要と使い方値ごと使い方の概要と使い方商品数の辞書やその他を知っているかりたユースい
2. defaultdictを使い方って簡単になることもあな集計ができるが可能で、スできタプル。場所にる(2) star_ratingの概要と使い方種類が前もって分かが可能で、ス前もって分かって いれば普通の辞書に加えての概要と使い方dictを使い方ってカウントよりで きタプル。場所にる defaultdictを使い方えば前もってキーの概要と使い方 値を指定する必要がないする必要が可能で、スない
まと使い方め • collectionsモジュールをを使い方うと使い方dict, list, set, および tuple を拡張した機能を使うしたユース機能で、スを使い方うこと使い方が可能で、ス出来、特殊なコンテナ便利な!なこと使い方が可能で、スある。場所に対するイ • 実際に使ってみて便に使ってみて便利便利な!に使ってみて便利使い方えたユース(と使い方思ってもらえるかってもらえるかもしれない)は
場面を見てもらったを見てみると中身はてもらったユース