PythonのCollectionsモジュールについてすべて

「PythonのCollectionsモジュールのすべてを解説!」

皆さんご存知のように、Pythonには固有のデータ型ヒーローが存在します – リスト、タプル、辞書、そして悪名高いセットです。しかし、Pythonの正義のリーグには、その中のスーパーマンとして「Collections」という名前の存在があります。この記事では、Collectionsの世界に深く潜り込み、その使用場面と利点を理解します。

Collections

Pythonのcollectionsモジュールは、リスト、タプル、セット、辞書などのPythonの組み込みデータ型の代替となる、特化したコンテナデータ型のセットを実装しています。

では、collectionsモジュールの各機能の重要性を理解しましょう。

namedTuple

は、クラスを完全に定義する必要なく、構造化されたデータを格納するための簡単な方法を提供する、collectionsのモジュールです。タプルにインデックスでアクセスする代わりに、クラスに変換され、各識別子の名前に基づいてアクセスすることができます。

namedTuple

上記の例では、2行目でEmployeeという名前のnamedTupleを作成しています。これは、Employeeレコードを格納するために使用できるクラス変数を作成します。

namedTuple — 2

namedTupleはインデックスを使用してアクセスすることもでき、上記の例ではディクショナリに簡単に変換することもでき、タプルの展開もサポートします。

Counter

Counterは、コレクション(リスト、タプル、文字列)内の要素の出現回数を数えるために使用されます。要素をキーとし、特定の要素の出現回数を値とする辞書を返します。

Counter

上記の例では、Counterはリスト内の各要素の出現回数を辞書形式で返しています。Counterのmost_common(k)メソッドは、最も頻繁に繰り返されるk個の要素を返します。また、Counterの足し算、引き算、共通要素の抽出、および結合も行えます。

deque

deque(デック)は、要素の挿入や削除を両端から簡単に行うための最適化されたリストとしてよく参照されます。O(1)の計算量で両端から要素を追加または削除することができます。

deque

上記の例では、appendおよびappend-leftメソッドを使用して両端に簡単に要素を追加することができます。

deque — 2

リストと同様に、dequeは逆順や回転の操作、要素の削除(pop、pop leftメソッド)も提供しています。

ChainMap

ChainMapは、データをコピーせずに複数の辞書を単一のビューに結合するために使用されます。名前の通り、マッピング(辞書)はチェーンに組織され、同じ順序でそれらにアクセスおよび検索することができます。辞書のキーが両方の辞書に存在する場合、チェーン内の最新の辞書が常に優先されます。

ChainMap

defaultdict

は、キーのない辞書を作成する際にデフォルト値を設定するために使用されます。ディクショナリとdefaultdictの違いは、defaultdictを使用して存在しないキーにアクセスしようとした場合、KeyErrorを発生させずに指定されたデフォルト値を返す点です。

辞書を使用した場合
defaultdict

Ordereddict

は、要素が入力された順序を記憶する辞書です。OrderedDictにアクセスしようとした場合、要素は挿入された順序で返されます。

OrderedDict

UserDict

UserDictは、カスタムな動作を持つ辞書を作成したい場合に役立ちます。たとえば、入力された値が自動的に大文字に変換される辞書を作成したい場合は、UserDictが役立ちます。

UserDict

UserListおよびUserStringにも同様のことが適用されます。

Colabノートブックの共有はこちら:コード

楽しく学びましょう…..

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「2023年にデータサイエンスFAANGの仕事をゲットする方法は?」

データサイエンスは非常に求められる分野となり、FAANG(Facebook、Amazon、Apple、Netflix、Google)企業での就職は大きな成...

データサイエンス

2023年にAmazonのデータサイエンティストになる方法は?

ほとんどのビジネスは現在、膨大な量のデータを生成し、編集し、管理しています。しかし、ほとんどのビジネスは、収集したデ...

人工知能

「コマンドバーの創設者兼CEO、ジェームズ・エバンスによるインタビューシリーズ」

ジェームズ・エバンズは、CommandBarの創設者兼CEOであり、製品、マーケティング、顧客チームを支援するために設計されたAIパ...

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

アーティスの創設者兼CEO、ウィリアム・ウーによるインタビューシリーズ

ウィリアム・ウーは、Artisseの創設者兼CEOであり、ユーザーの好みに基づいて写真を精密に変更する技術を提供していますそれ...

人工知能

ピーター・マッキー、Sonarの開発者担当責任者-インタビューシリーズ

ピーター・マッキーはSonarのDeveloper Relationsの責任者です Sonarは、悪いコードの1兆ドルの課題を解決するプラットフォー...