Python - 辞書

こんにちは、夢を持つプログラマーたち!今日は、Pythonの辞書の魅力的な世界に飛び込もうと思います。あなたの親しみのある近所のコンピューターサイエンスの先生として、あなたをこの旅に案内することができて嬉しいです。だから、お気に入りの飲み物を持って、快適に座って、一緒にこの冒険に出よう!

Python - Dictionaries

Pythonの辞書

デジタルのアドレス帳を作成すると仮定しましょう。友達の名前、電話番号、メールアドレスなどの情報を保存したいですよね。それはどうやって行いますか?ここにPythonの辞書が登場します!

Pythonの辞書は、実際の辞書のように、単語の定義ではなく、キーと値のペアを保存するものです。これは、順序がなく、変更可能で、重複を許可しないコレクションです。

辞書の主要な特徴

  1. キーと値のペア: 辞書の各項目は、キーとその対応する値で構成されています。
  2. 順序のない: リストとは異なり、辞書には特定の順序がありません。
  3. 変更可能: 辞書を作成した後でも、アイテムを追加、削除、または変更することができます。
  4. 重複のない: 各キーは辞書内でユニークでなければなりません。

辞書の作成

まず、初めての辞書を作成しましょう:

my_friend = {
"name": "Alice",
"age": 25,
"city": "New York"
}

この例では、my_friendという名前の辞書を作成しました。キーは"name"、"age"、"city"で、対応する値は"Alice"、25、"New York"です。

空の辞書を作成し、後でアイテムを追加することもできます:

empty_dict = {}
another_dict = dict()  # dict()コンストラクタを使用

辞書アイテムのアクセス

辞書のアイテムにアクセスするには、キー名を角括弧内に使用します:

print(my_friend["name"])  # 出力: Alice

get()メソッドを使用することもできます。これは、キーが存在しない場合にエラーを発生させず、Noneを返すため、より安全です:

print(my_friend.get("age"))  # 出力: 25
print(my_friend.get("job"))  # 出力: None

辞書アイテムの変更

辞書は可変であり、作成後に内容を変更することができます:

# 値の変更
my_friend["age"] = 26

# 新しいキーと値のペアの追加
my_friend["job"] = "Engineer"

print(my_friend)
# 出力: {'name': 'Alice', 'age': 26, 'city': 'New York', 'job': 'Engineer'}

辞書アイテムの削除

辞書からアイテムを削除するには、いくつかの方法があります:

# 特定のアイテムを削除
del my_friend["age"]

# アイテムを削除し返す
job = my_friend.pop("job")

# 最後に挿入されたアイテムを削除
last_item = my_friend.popitem()

print(my_friend)  # 出力: {'name': 'Alice'}

辞書の反復

辞書をいくつかの方法でループすることができます:

# キーを反復
for key in my_friend:
print(key)

# 値を反復
for value in my_friend.values():
print(value)

# キーと値を反復
for key, value in my_friend.items():
print(f"{key}: {value}")

辞書キーの特性

辞書のキーには、いくつかの重要な特性があります:

  1. キーは不変でなければならない(文字列、数、タプルなど)。
  2. キーは辞書内でユニークでなければならない。

例えば:

valid_dict = {
"string_key": "value1",
42: "value2",
(1, 2): "value3"
}

# これはエラーを引き起こします:
# invalid_dict = {[1, 2]: "value"}  # リストはキーにはならない

Pythonの辞書演算子

Pythonは辞書に便利な演算子をいくつか提供します:

# 辞書のマージ(Python 3.5以降)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged = {**dict1, **dict2}
print(merged)  # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# キーが存在するかどうかの確認
if "name" in my_friend:
print("Name is in the dictionary")

Pythonの辞書メソッド

以下は、一般的に使用される辞書メソッドの一覧です:

メソッド 説明
clear() 辞書内のすべてのアイテムを削除
copy() 辞書の浅いコピーを返す
fromkeys() 指定されたキーと値で新しい辞書を作成
get() 指定されたキーの値を返す
items() 辞書の(キー、値)タプルのリストを返す
keys() 辞書のキーのリストを返す
pop() 指定されたキーの要素を削除し返す
popitem() 最後に挿入されたキーと値のペアを削除し返す
setdefault() 指定されたキーの値を返す。キーが存在しない場合: 指定されたキーと値を挿入
update() 指定されたキーと値のペアで辞書を更新
values() 辞書内のすべての値のリストを返す

辞書と一緒に使用される組み込み関数

Pythonは辞書と一緒に使用される組み込み関数をいくつか提供します:

# 辞書の長さ
print(len(my_friend))

# 辞書の型
print(type(my_friend))

# 他のデータ型を辞書に変換
list_of_tuples = [("a", 1), ("b", 2)]
dict_from_list = dict(list_of_tuples)
print(dict_from_list)  # 出力: {'a': 1, 'b': 2}

それでは、皆さん!私たちはPythonの辞書の土地を Creation から Manipulation 、Iteration まで旅をしました。覚えておいてください、練習は完璧を作り出しますので、自分のコードでこれらの概念を実験することを恐れないでください。

今回は、少しプログラミングのユーモアをシェアしましょう:なぜPythonプログラマーは辞書を使うのが好きなのでしょうか?なぜなら、彼らはいつも自分の鍵がどこにあるかを知っているからです!?

コーディングを続け、興味深いままであり、覚えておいてください:プログラミングの世界では、すべてのエラーは新しい学習の機会です。次回まで、幸せなコーディングを!

Credits: Image by storyset