検索
ホームページバックエンド開発Python チュートリアルPython マッピング タイプの関連紹介

マッピング タイプは、反復可能なキーと値のデータ項目の組み合わせであり、データ項目とそのキーと値にアクセスするためのメソッドを提供します。python3 では、2 つの順序なしマッピング タイプ (組み込み dict と Collections.defaultdict タイプ) がサポートされています。標準ライブラリ。

Python3.1 以降、順序付きマッピング タイプも導入されました: collections.OrderedDict.

関連する推奨事項: 「Python ビデオ

Python マッピング タイプの関連紹介

機能:

1. マップ タイプのキーにはハッシュ可能なオブジェクトのみを使用できるため、組み込みの固定データ タイプはすべてキーとして使用できますマッピング型 (すべての組み込み固定型はハッシュ化可能) 現在公開されている固定データ型は次のとおりです: int、float、complex、bool、str、tuple、frozenset;

2. それぞれに関連付けられた値key には任意のオブジェクトを指定できます;

3. マッピング タイプも反復可能 (反復可能) です。

4. マッピング タイプは、比較演算子、メンバーシップ演算子 in/not in、および組み込みの len() 関数を使用して比較できます。

1.dict (辞書)

dict データ型は、0 ~ n のキーと値を含む、順序付けされていない変数の組み合わせデータ型です。ペアの場合、キーはハッシュ可能なオブジェクトへの参照であり、値は任意のオブジェクトへの参照を指すことができます。キーはハッシュ可能なオブジェクト参照であるため、キーの一意性が保証されます。辞書は可変であるため、データ項目を辞書に追加したり辞書から削除したりできます。辞書は順序付けされていないため、インデックスがなく、操作することもできません。シャーディング オペレーターを使用します。

辞書の作成

1.dict() は関数として呼び出すことができ、この時点で空の辞書が作成されます:

>>> dict()
{}
>>>

dict() マッピング型パラメータが渡されると、次のようなパラメータに基づく辞書が返されます。

>>> d1 = {"key1":"value1","key2":"value2"}
>>> dict(d1)
{'key1': 'value1', 'key2': 'value2'}
>>>

dict() はシーケンス型パラメータも受け入れることができますが、シーケンス自体は 2 つのオブジェクトを含むシーケンスであり、1 つ目はキーとして使用され、2 つ目は値として使用されます。例:

>>> d1 = dict((("k1","v1"),("k2","v2")))   #使用元组创建
>>> d1
{'k1': 'v1', 'k2': 'v2'}
>>> 
>>> d1 = dict([("k1","v1"),("k2","v2")])   #使用序列创建
>>> d1
{'k1': 'v1', 'k2': 'v2'}
>>>

dict() はキーワード パラメータを使用して作成することもできます。はキーワードとして使用され、値はキーワードの値として使用されます。例:

>>> dict(id=1,name="zhangsan",age=23)
{'id': 1, 'name': 'zhangsan', 'age': 23}
>>>

注: キーワードは有効な Python 識別子である必要があります

2。辞書を作成するには中かっこを使用します。 empty {} は空の dict を作成します。空ではない dict は複数の項目で構成され、各項目はカンマで区切られ、各項目は K:V の形式で作成されます。例:

>>> dict2 = {"name":"kobe","age":33,"num":24}
>>> dict2
{'name': 'kobe', 'age': 33, 'num': 24}
>>>

3辞書のコノテーションを使用して辞書を作成します

defaultdict は dict のサブクラスで、dict のすべての操作とメソッドをサポートします。 dict との違いは、dict[x] で値を取得するときに dict に特定のキーが含まれていない場合は KeyError 例外が発生しますが、defaultdict の場合はそのキーをキーとして新しい項目が作成され、値をデフォルト値として使用します。

2.collections.defaultdict (デフォルトの辞書)

コレクションの作成.defaultdict

作成collections.defaultdict、collections.defaultdict() を介して、パラメータに従って作成するには 2 つの方法があります:

* 1. パラメータの型を使用して作成します:

>>> import collections
>>> cd1 = collections.defaultdict(int)
>>> cd2 = collections.defaultdict(list)
>>> cd3 = collections.defaultdict(str)
>>> cd1["x"]
0
>>> cd2["x"]
[]
>>> cd3["x"]
''
>>>

Here, int, list 、str、デフォルト値は 0、[]、"

* 2. 関数名を使用して作成します:

>>> def name():
    return 'zhangsan'
>>> cd4 = collections.defaultdict(name)
>>> cd4["x"]
'zhangsan'
>>>

このようにして、関数のデフォルト値を作成できます。

collections.defaultdict() はパラメータなしまたは None を渡すことができますが、その場合、次のようなデフォルト値はサポートされないことに注意してください:

>>> cd5 = collections.defaultdict()
>>> cd5["x"]
Traceback (most recent call last):
  File "<pyshell#254>", line 1, in <module>
    cd5["x"]
KeyError: &#39;x&#39;
>>>

はい、collections.defaultdict は、dict.

3.collections.OrderedDict #OrderedDict の get(k,v) メソッドと setdefault() メソッドを置き換えることができますすべての dict メソッドをサポートする dict サブクラスであり、キーが挿入された順序を記憶します。新しいエントリが既存のエントリを上書きする場合、元の挿入位置は変更されません。エントリを削除して再挿入すると、エントリは最後に移動します。

class collections.OrderedDict([items])

これらは順序付けされているため、2 つの OrderedDict は順序が同じ場合にのみ同じになります。ただし、OrderedDict と通常の dict を比較する場合、順序は無視されます。 results

from collections import OrderedDict
d = {&#39;banana&#39;: 3, &#39;apple&#39;: 4}
od1 = OrderedDict({&#39;banana&#39;: 3, &#39;apple&#39;: 4})
od2 = OrderedDict({&#39;apple&#39;: 4, &#39;banana&#39;: 3})
print(od1 == od2)
print(od1 == d)

3. キー メソッド

FalseTrue

通常の dict のこのメソッドはパラメータを受け入れず、最後のエントリのみを削除できます; OrderedDict は dict よりも柔軟で、最後のパラメータを受け入れます。 last=Trueの場合は通常の方法と同じでLIFO順序に従い、last=Falseの場合はFIFO順序に従い最初の要素を削除します。 4. 単純な機能強化

OrderedDict は挿入順序を維持するだけです。エントリが変更されても、順序は変更されません。

OrderedDict.popitem(last=True)

実行結果

from collections import OrderedDict
od1 = OrderedDict({&#39;banana&#39;: 3, &#39;apple&#39;: 4})
od1.popitem(False)
print(od1)

しかし、場合によっては、同じ要素を変更して挿入する必要がある この効果は、最初に要素を削除し、変更時に要素を挿入するように __setitem__() メソッドを書き直すことで簡単に強化できます。 ##りー

以上がPython マッピング タイプの関連紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python:自動化、スクリプト、およびタスク管理Python:自動化、スクリプト、およびタスク管理Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonと時間:勉強時間を最大限に活用するPythonと時間:勉強時間を最大限に活用するApr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)