Python - 辞書
こんにちは、夢を持つプログラマーたち!今日は、Pythonの辞書の魅力的な世界に飛び込もうと思います。あなたの親しみのある近所のコンピューターサイエンスの先生として、あなたをこの旅に案内することができて嬉しいです。だから、お気に入りの飲み物を持って、快適に座って、一緒にこの冒険に出よう!
Pythonの辞書
デジタルのアドレス帳を作成すると仮定しましょう。友達の名前、電話番号、メールアドレスなどの情報を保存したいですよね。それはどうやって行いますか?ここにPythonの辞書が登場します!
Pythonの辞書は、実際の辞書のように、単語の定義ではなく、キーと値のペアを保存するものです。これは、順序がなく、変更可能で、重複を許可しないコレクションです。
辞書の主要な特徴
- キーと値のペア: 辞書の各項目は、キーとその対応する値で構成されています。
- 順序のない: リストとは異なり、辞書には特定の順序がありません。
- 変更可能: 辞書を作成した後でも、アイテムを追加、削除、または変更することができます。
- 重複のない: 各キーは辞書内でユニークでなければなりません。
辞書の作成
まず、初めての辞書を作成しましょう:
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}")
辞書キーの特性
辞書のキーには、いくつかの重要な特性があります:
- キーは不変でなければならない(文字列、数、タプルなど)。
- キーは辞書内でユニークでなければならない。
例えば:
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