マッピング タイプは、反復可能なキーと値のデータ項目の組み合わせであり、データ項目とそのキーと値にアクセスするためのメソッドを提供します。python3 では、2 つの順序なしマッピング タイプ (組み込み dict と Collections.defaultdict タイプ) がサポートされています。標準ライブラリ。
Python3.1 以降、順序付きマッピング タイプも導入されました: collections.OrderedDict.
関連する推奨事項: 「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: 'x' >>>
はい、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 = {'banana': 3, 'apple': 4} od1 = OrderedDict({'banana': 3, 'apple': 4}) od2 = OrderedDict({'apple': 4, 'banana': 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({'banana': 3, 'apple': 4}) od1.popitem(False) print(od1)しかし、場合によっては、同じ要素を変更して挿入する必要がある この効果は、最初に要素を削除し、変更時に要素を挿入するように __setitem__() メソッドを書き直すことで簡単に強化できます。 ##りー
以上がPython マッピング タイプの関連紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Tomergelistsinpython、あなたはオペレーター、extendmethod、listcomfulting、olitertools.chain、それぞれの特異的advantages:1)operatorissimplebutlessforlargelist;

Python 3では、2つのリストをさまざまな方法で接続できます。1)小さなリストに適したオペレーターを使用しますが、大きなリストには非効率的です。 2)メモリ効率が高い大規模なリストに適した拡張方法を使用しますが、元のリストは変更されます。 3)元のリストを変更せずに、複数のリストをマージするのに適した *オペレーターを使用します。 4)Itertools.chainを使用します。これは、メモリ効率が高い大きなデータセットに適しています。

Join()メソッドを使用することは、Pythonのリストから文字列を接続する最も効率的な方法です。 1)join()メソッドを使用して、効率的で読みやすくなります。 2)サイクルは、大きなリストに演算子を非効率的に使用します。 3)リスト理解とJoin()の組み合わせは、変換が必要なシナリオに適しています。 4)redoce()メソッドは、他のタイプの削減に適していますが、文字列の連結には非効率的です。完全な文は終了します。

pythonexexecutionistheprocessoftransforningpythoncodeintoexecutabletructions.1)interpreterreadSthecode、変換intobytecode、thepythonvirtualmachine(pvm)executes.2)theglobalinterpreeterlock(gil)管理委員会、

Pythonの主な機能には次のものがあります。1。構文は簡潔で理解しやすく、初心者に適しています。 2。動的タイプシステム、開発速度の向上。 3。複数のタスクをサポートするリッチ標準ライブラリ。 4.強力なコミュニティとエコシステム、広範なサポートを提供する。 5。スクリプトと迅速なプロトタイピングに適した解釈。 6.さまざまなプログラミングスタイルに適したマルチパラダイムサポート。

Pythonは解釈された言語ですが、コンパイルプロセスも含まれています。 1)Pythonコードは最初にBytecodeにコンパイルされます。 2)ByteCodeは、Python Virtual Machineによって解釈および実行されます。 3)このハイブリッドメカニズムにより、Pythonは柔軟で効率的になりますが、完全にコンパイルされた言語ほど高速ではありません。

useaforloopwhenteratingoverasequenceor foraspificnumberoftimes; useawhileloopwhentinuninguntinuntilaConditionismet.forloopsareidealforknownownownownownownoptinuptinuptinuptinuptinutionsituations whileoopsuitsituations withinterminedationations。

pythonloopscanleadtoErrorslikeinfiniteloops、ModifiningListsDuringiteration、Off-Oneerrors、Zero-dexingissues、およびNestededLoopinefficiencies.toavoidhese:1)use'i


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール
