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

人工知能

「ElaiのCEO&共同創業者、Vitalii Romanchenkoについてのインタビューシリーズ」

ヴィタリー・ロマンチェンコは、ElaiのCEO兼共同創設者であり、マイク、カメラ、俳優、スタジオの必要なく、個人が一流のビデ...

人工知能

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

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

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...

機械学習

「機械学習 vs AI vs ディープラーニング vs ニューラルネットワーク:違いは何ですか?」

テクノロジーの急速な進化は、ビジネスが効率化のために洗練されたアルゴリズムにますます頼ることで、私たちの日常生活を形...

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

人工知能

「アナコンダのCEO兼共同創業者、ピーターウォングによるインタビューシリーズ」

ピーター・ワンはAnacondaのCEO兼共同創設者ですAnaconda(以前はContinuum Analyticsとして知られる)を設立する前は、ピー...