【Python初学者】辞書操作の基本をわかりやすく解説!

辞書操作の方法

この記事は、プログラミング初学者が学びのアウトプットを兼ねてまとめた内容です。

どうもわだです

この記事では、「基本的な辞書操作の方法」について、
初学者目線で解説します。

目次

 辞書にデータを追加したり、取り出したり、消したり、調べたりするといった作業の総称です。

◼︎キーに対応する値を取り出す

dect[“キー”]

辞書はインデックスではなく、キーの名前でアクセスするというところがポイントです。
⚠︎存在しないキーを指定するとkeyErrorがでます。エラーを避けるには →.getメソッド
⚠︎全てのキー全ての値キーと値のペアを取り出す場合 →.keys/.values/.itemsメソッド

person = {"name": "Wada", "age": 27, "area": "Kansai"}

print(person["name"]) # Wada
print(person["area"]) # Kansai

◼︎値を追加・更新する

dict[“キー”] = 値

⚠︎1つのキーについてしか追加・更新することができません。
複数のキーと値をまとめて追加・更新したい場合 →.updateメソッド

person = {"name": "Wada", "age": "27", "area": "Kansai"}

☝️存在するキーを指定すると、値が更新される
person["age"] = 30 
# {'name': 'Wada', 'age': 30, 'area': 'Kansai'}

☝️存在しないキーを指定すると、キーと値が追加される
person["job"] = "shufu"
# {'name': 'Wada', 'age': 30, 'area': 'Kansai', 'job': 'shufu'}

◼︎値を削除する|del文

del dict[“キー1”], dict[“キー2”]…

del文は指定したキーしか削除しません。
辞書の要素全てを削除する場合 →.clearメソッド

person = {"name": "Wada", "age": 27, "area": "Kansai"}

del person["age"], person["area"]
print(person)  # {'name': 'Wada'}

◼︎辞書でよく使うメソッド

辞書内の全てのキーを取り出す|.keys

dict.keys()

person = {"name": "Wada", "age": 27, "area": "Kansai"}

print(person.keys())  # dict_keys(['name', 'age', 'area'])

辞書内の全ての値を取り出す|.values

dict.values()

person = {"name": "Wada", "age": 27, "area": "Kansai"}

print(person.values()) # dict_values(['Wada', 27, 'Kansai'])

辞書内のキーと値のペアをタプル形式でまとめて取り出す|.items

dict.items()

person = {"name": "Wada", "age": 27, "area": "Kansai"}

print(person.items())
# dict_items([('name', 'Wada'), ('age', 27), ('area', 'Kansai')])

キーに対応する値を取り出す|.get

dict.get(“キー”, デフォルト値)

デフォルト値には「キーが存在しなかった場合に返す値」を指定します。
省略可能で、省略した場合はNoneを返します。

person = {"name": "Wada", "age": 27, "area": "Kansai"}

print(person.get("name"))   # Wada
print(person.get("job", "不明")) # 不明
print(person.get("job")) # None

指定したキーの値を取り出して削除する|.pop

dict.pop(“キー”)

person = {"name": "Wada", "age": 27, "area": "Kansai"}
age = person.pop("age")

print(age) # 27
print(person) # {'name': 'Wada', 'area': 'Kansai'}
よろしくお願いします

使い方はわかったけれど、del文も指定したキーの値を削除
だったよね?何が違うの?

違いだね。del文は削除するだけ
.popメソッドは値を「取り出して」削除するものだよ。

んー。どうして「取り出して」が必要なの?

それぞれの具体例を見てみるのが一番わかりやすいと思うよ!

まずはdel文を使う場合から。
☝️ポイントは「ただ削除するだけで良い」というところだよ!

person = {"name": "Wada", "age": 27, "area": "Kansai"}

# 個人情報保護のために、personから居住地域の情報を削除したい
del person["area"]
print(person) # {'name': 'Wada', 'age': 27}

次に.popメソッドを使う場合。
☝️ポイントは削除、かつ「その値も使いたい」というところだよ!

stock = {"apple": 5, "banana": 10, "grape": 3}

# ぶどうを取り出して商品在庫から削除したい
count = stock.pop("grape")
print(f"取り出したぶどうの数:{count}個")
print(f"フルーツの在庫一覧:{stock}")

# 実行結果
取り出したぶどうの数:3個
フルーツの在庫一覧:{'apple': 5, 'banana': 10}
なるほど!

.popメソッド「削除するその値も使いたい」の意味がわかった!

別の辞書のキー・値の組み合わせを追加・上書きする|.update

dict.update({“キー”: 値})

すでにキーがあれば値を上書きし、なければ追加されます。元の辞書を直接変更します。
複数のキーと値をまとめて追加・更新できます。

person = {"name": "Wada", "age": 27, "area": "Kansai"}
person.update({"age": 30})
print(person)
# {'name': 'Wada', 'age': 30, 'area': 'Kansai'}

person.update({"job": "shufu","area": "Okinawa"})
print(person)
# {'name': 'Wada', 'age': 30, 'area': 'Okinawa', 'job': 'shufu'}

辞書全体を削除する|.clear

person.clear()

引数は要りません

person = {"name": "Wada", "age": 27, "area": "Kansai"}

person.clear()
print(person) # {}

どうも、プログラミング初学者のわだです。最後までお読みいただきありがとうございました。この記事は、学びを整理しながら理解を深めるために書いています。まだ駆け出しではありますが、同じように勉強している方の参考になれば嬉しいです。もし誤りや補足があれば、教えていただけると幸いです。

参考:
Python公式ドキュメント(日本語版)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

どうもこんにちは、わだです。プログラミングなんて未知の世界。そんなわだがエンジニアになるまでを綴っていきます。

コメント

コメントする

目次