ホームページ  >  記事  >  バックエンド開発  >  Python では辞書はどのように機能しますか?

Python では辞書はどのように機能しますか?

王林
王林オリジナル
2023-10-21 08:27:34841ブラウズ

Python では辞書はどのように機能しますか?

Python では辞書はどのように機能しますか?

Dictionary は Python の非常に重要なデータ構造であり、データをキーと値のペアの形式で保存し、キーに基づいて対応する値を迅速に取得できます。この記事では、読者が辞書を深く理解できるように、辞書の使用方法とその基礎となる実装メカニズムを詳しく紹介します。

  1. 辞書の作成

Python では、中括弧 {} または dict() 関数を使用して辞書を作成できます。例:

# 创建一个空字典
empty_dict = {}
empty_dict2 = dict()

# 创建一个包含键值对的字典
person = {"name": "Tom", "age": 21, "country": "USA"}

上の例では、empty_dictempty_dict2 はそれぞれ空の辞書ですが、person は 3 つの A を含む辞書です。キーと値のペアの辞書。

  1. ディクショナリ値へのアクセスと変更

ディクショナリ内の値にアクセスするには、キーを使用して対応する値を抽出する必要があります。例:

# 访问字典中的值
print(person["name"])  # 输出:Tom
print(person["age"])  # 输出:21

辞書内の値を変更したい場合は、キーを使用して新しい値を割り当てることができます。例:

# 修改字典中的值
person["age"] = 22
print(person["age"])  # 输出:22
  1. 辞書の追加および削除操作

新しいキーと値のペアを辞書に追加するには、代入演算子を使用できます。例:

# 增加新的键值对
person["gender"] = "male"
print(person)  # 输出:{"name": "Tom", "age": 22, "country": "USA", "gender": "male"}

辞書内のキーと値のペアを削除するには、del キーワードを使用します。例:

# 删除键值对
del person["country"]
print(person)  # 输出:{"name": "Tom", "age": 22, "gender": "male"}
  1. 辞書の走査操作

for ループを使用して、辞書内のキーと値のペアを走査できます。例:

# 遍历字典中的键值对
for key, value in person.items():
    print(key, value)

上記のコードは、ディクショナリ内のすべてのキーと値のペアを出力します。ディクショナリ内のキーまたは値を反復する必要があるだけの場合は、keys() または values() メソッドを使用できます。例:

# 遍历字典中的键
for key in person.keys():
    print(key)

# 遍历字典中的值
for value in person.values():
    print(value)
  1. 辞書検索操作

辞書に特定のキーが存在するかどうかを確認するには、in キーワードを使用できます。例:

# 检查键是否存在
if "name" in person:
    print("name键存在")
  1. 辞書の内部実装メカニズム

Python の辞書は、ハッシュ テーブルのデータ構造を使用して実装され、辞書検索操作が行われます。非常に効率的です。辞書内の各キーはハッシュ関数によって計算されてハッシュ値が取得され、ハッシュ値に基づいて対応するスロットに配置されます。キーの値を見つけたい場合、Python はまずキーのハッシュ値に基づいて対応するスロットを見つけ、次にそのスロット内を検索します。

概要:

Python の辞書は、データをキーと値のペアの形式で保存し、効率的な検索速度を実現する非常に実用的なデータ構造です。この記事の導入を通じて、辞書の作成、アクセス、変更、追加、削除の操作と、トラバースおよび検索操作の方法について学びました。実際のプログラミングでは、辞書を適切に使用すると、コードがより効率的で読みやすくなります。

以上がPython では辞書はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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