Python のコレクションとデータ構造のチートシート

Python コレクション モジュールとネイティブ データ構造の完全なガイド。リスト、辞書、セット、タプル、デク、名前付きタプルについて学びます。

ネイティブの組み込み型

標準コンテナ クラスは、追加のインポートなしでネイティブに使用できます。

メソッド・機能構文説明
Listmy_list = [1, 2, 3]順序付けされた、変更可能でインデックス可能な任意の要素のシーケンス。
Dictionarymy_dict = {"key": "val"}キーと値のマッピング。キーは一意でハッシュ可能 (不変) である必要があります。
Setmy_set = {1, 2, 3}ユニークでハッシュ可能なアイテムの順序付けされていないコレクション。
Tuplemy_tuple = (1, 2, 3)順序付けられた不変のシーケンス。レコードのデータ型によく使用されます。

特殊なコレクションのモジュール構造

特定のパフォーマンス機能のコレクションからインポートされた構造。

メソッド・機能構文説明
dequefrom collections import deque両端のキュー。両端からの高速 O(1) アペンドおよびポップをサポートします。
defaultdictfrom collections import defaultdictファクトリ関数を呼び出して欠損値を提供するディクショナリのサブクラス。
Counterfrom collections import Counterハッシュ可能なオブジェクトをカウントするためのディクショナリのサブクラス。
namedtuplefrom collections import namedtuple名前付きフィールドを持つタプル サブクラスを作成するためのファクトリ関数。
OrderedDictfrom collections import OrderedDictキーの挿入順序を記憶する辞書のサブクラス。

インタラクティブなデモスクリプト

run_all_cheat_methods.py
エディターで実行
# List
my_list = [1, 2, 3]

# Dictionary
my_dict = {"key": "val"}

# Set
my_set = {1, 2, 3}

# Tuple
my_tuple = (1, 2, 3)

# deque
from collections import deque

# defaultdict
from collections import defaultdict

# Counter
from collections import Counter

# namedtuple
from collections import namedtuple

# OrderedDict
from collections import OrderedDict

よくある質問

リストの代わりに deque を使用する必要があるのはどのような場合ですか?

両端からの高速な O(1) の追加とポップが必要な場合は、deque (両端キュー) を使用します。リストの先頭での挿入/削除の複雑さは O(n) です。

defaultdict はどのように機能しますか?

存在しないキーにアクセスしようとすると、defaultdict はデフォルト値 (list、int など) を自動的に作成し、KeyErrors を防ぎます。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。