Python には組み込み辞書があります: dict サポート、dictフルネーム dictionary、他の言語ではマップとも呼ばれ、キーと値を使用します (key- value) ストレージ、非常に高速な検索速度を備えています。
たとえば、クラスメートの名前に基づいて対応する成績を検索したいとします。リストを使用して実装する場合は、2 つのリストが必要です:
names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85]
名前を指定した場合、対応する成績を見つけたい場合は、まず名前の対応する位置を見つけてから、スコアから対応する結果を取得します。リストが長ければ長いほど、時間がかかります。
dict を使用して実装した場合、必要なのは「名前」と「スコア」の比較テーブルだけであり、結果は名前に基づいて直接検索できます。テーブルがどれほど大きくても関係ありません。検索速度が遅くなることはありません。 Python を使用して、次のように dict を作成します。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
なぜ dict 検索はそれほど速いのですか? dict の実装原理は辞書を引くのと同じだからです。辞書に 10,000 の漢字が含まれており、特定の単語を調べたいとします。1 つの方法は、必要な単語が見つかるまで辞書を最初のページから戻すことです。この方法は、リスト内の要素を見つけることです。リストを増やすと、検索が遅くなります。
2 つ目の方法は、辞書の索引表 (部首表など) で単語に対応するページ番号を調べてから、直接そのページに移動して単語を見つける方法です。どの単語を探している場合でも、この検索速度は非常に速く、辞書のサイズが大きくなっても遅くなりません。
dict は 2 番目の実装メソッドです。「Michael」などの名前を指定すると、dict はマイケルのスコアに対応する「ページ番号」を内部で直接計算できます。これは、数字 95 が格納されるメモリです。アドレスを直接取り出すので速度が非常に速いです。
お察しのとおり、このキーと値の格納方法では、値を入力するときにキーに基づいて値の格納場所を計算する必要があるため、値を取得するときに直接取得できます。キーに基づく値。
データを dict に入れる方法は、初期化時に指定する以外に、キーによって入れることもできます:
>>> d['Adam'] = 67 >>> d['Adam'] 67
1 つのキーは 1 つの値にのみ対応できるため、1 つのキー複数回入力できます。値を入力すると、後続の値が前の値を消去します:
>>> d['Jack'] = 90 >>> d['Jack'] 90 >>> d['Jack'] = 88 >>> d['Jack'] 88
キーが存在しない場合、dict はエラーを報告します:
>>> d['Thomas'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'Thomas'
キーが存在しないというエラーが表示されます。方法は 2 つあります。最初の方法は、次の方法でキーが存在するかどうかを確認することです:
>>> 'Thomas' in d False
以上がPythonのdict関数の意味を3分で理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。