PythonのCollectionsモジュールについてすべて
「PythonのCollectionsモジュールのすべてを解説!」
皆さんご存知のように、Pythonには固有のデータ型ヒーローが存在します – リスト、タプル、辞書、そして悪名高いセットです。しかし、Pythonの正義のリーグには、その中のスーパーマンとして「Collections」という名前の存在があります。この記事では、Collectionsの世界に深く潜り込み、その使用場面と利点を理解します。
Pythonのcollectionsモジュールは、リスト、タプル、セット、辞書などのPythonの組み込みデータ型の代替となる、特化したコンテナデータ型のセットを実装しています。
では、collectionsモジュールの各機能の重要性を理解しましょう。
namedTuple
は、クラスを完全に定義する必要なく、構造化されたデータを格納するための簡単な方法を提供する、collectionsのモジュールです。タプルにインデックスでアクセスする代わりに、クラスに変換され、各識別子の名前に基づいてアクセスすることができます。
上記の例では、2行目でEmployeeという名前のnamedTupleを作成しています。これは、Employeeレコードを格納するために使用できるクラス変数を作成します。
namedTupleはインデックスを使用してアクセスすることもでき、上記の例ではディクショナリに簡単に変換することもでき、タプルの展開もサポートします。
Counter
Counterは、コレクション(リスト、タプル、文字列)内の要素の出現回数を数えるために使用されます。要素をキーとし、特定の要素の出現回数を値とする辞書を返します。
上記の例では、Counterはリスト内の各要素の出現回数を辞書形式で返しています。Counterのmost_common(k)メソッドは、最も頻繁に繰り返されるk個の要素を返します。また、Counterの足し算、引き算、共通要素の抽出、および結合も行えます。
deque
deque(デック)は、要素の挿入や削除を両端から簡単に行うための最適化されたリストとしてよく参照されます。O(1)の計算量で両端から要素を追加または削除することができます。
上記の例では、appendおよびappend-leftメソッドを使用して両端に簡単に要素を追加することができます。
リストと同様に、dequeは逆順や回転の操作、要素の削除(pop、pop leftメソッド)も提供しています。
ChainMap
ChainMapは、データをコピーせずに複数の辞書を単一のビューに結合するために使用されます。名前の通り、マッピング(辞書)はチェーンに組織され、同じ順序でそれらにアクセスおよび検索することができます。辞書のキーが両方の辞書に存在する場合、チェーン内の最新の辞書が常に優先されます。
defaultdict
は、キーのない辞書を作成する際にデフォルト値を設定するために使用されます。ディクショナリとdefaultdictの違いは、defaultdictを使用して存在しないキーにアクセスしようとした場合、KeyErrorを発生させずに指定されたデフォルト値を返す点です。
Ordereddict
は、要素が入力された順序を記憶する辞書です。OrderedDictにアクセスしようとした場合、要素は挿入された順序で返されます。
UserDict
UserDictは、カスタムな動作を持つ辞書を作成したい場合に役立ちます。たとえば、入力された値が自動的に大文字に変換される辞書を作成したい場合は、UserDictが役立ちます。
UserListおよびUserStringにも同様のことが適用されます。
Colabノートブックの共有はこちら:コード。
楽しく学びましょう…..
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles