ホームページ  >  記事  >  バックエンド開発  >  Python の辞書 Keys() と Values() は常に 1 対 1 のマッピングを維持しますか?

Python の辞書 Keys() と Values() は常に 1 対 1 のマッピングを維持しますか?

DDD
DDDオリジナル
2024-11-08 12:05:02749ブラウズ

Do Python's Dictionary Keys() and Values() Always Maintain a One-to-One Mapping?

Python の辞書 Keys() と Values() は常に同期していますか?

Python では、辞書はキーを格納する強力なデータ構造です。値のペア。 key() メソッドと value() メソッドを使用してキーと値を取得すると、次の例で明らかなように、結果として得られるリストが 1 対 1 のマッピングを維持しているように見えることがよくあります。

d = {'one': 1, 'two': 2, 'three': 3}
k, v = d.keys(), d.values()
for i in range(len(k)):
    print(d[k[i]] == v[i])

# Output: True
# True
# True

対応関係の維持

ただし、辞書が変更されても、この 1 対 1 マッピングが維持されることは保証されていますか?修正? Python 2.x と 3.x の両方の Python ドキュメントによると、これは実際に当てはまります:

"If items(), key(), value(), iteritems(), iterkeys(),および itervalues() が辞書への変更を介さずに呼び出されると、リストは直接対応します。"

したがって、 key() と value() の呼び出しの間で辞書が変更されない限り、上記の for ループは常に True を出力します。辞書の反復におけるキーと値のこの対応は、Python の辞書実装の貴重な側面であり、格納されたデータへの予測可能かつ効率的なアクセスを提供します。

以上がPython の辞書 Keys() と Values() は常に 1 対 1 のマッピングを維持しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。