3-2python3の辞書型とforについて
pythonにも辞書型があります。
辞書型の定義の一般型は以下のようになります。
変数名 = {"key",value}
辞書型にはkeyとvalueがあり、特定のkeyを使って値を参照したいときなどに使います。
例えば、固有のidを参照してidに紐づいたデータを取得したい場合などが当てはまると思います。
例として、以下の辞書型を宣言します。
persons = {"Jhon":20,"jhan":28,"boss":58}
keyを使ってvalueを参照する
keyを使ってvalueを参照するには、以下のように書きます。
print(persons["Jhon"]) # 20
特定のkeyが辞書内に存在するかどうかを確認するには、inが使えます。
存在しないことを確認するには、not inを使います。
if "Jhon" in persons:
print("Jhon here")
# 否定系はnot
if "Jhon" not in persons:
print("Jhon not here")
一方辞書内のvalueを探すには、values()関数を使って
以下の用に書くことができます。
if 20 in persons.values():
print("20 exist")
辞書型の全てのvalueから値を探し、20がある場合に、
表示させています。
辞書型への追加と削除
辞書型へ新しいkeyを追加するには、以下のように書くことができます。
persons["Chris"] = 30
# 複数追加する
persons.update({"Ed":18,"Brawn":36})
for person in persons:
print(person) #Jhon Jhan Boss Chris Ed Brawn
update関数ではキーが存在する場合には、値を更新します。
配列形式で追加する場合も同様になります。
# persons["Ed"] = 19
persons.update({"Ed":19})
print(persons["Ed"]) # 19
続いて、キーを削除する方法です。
特定のキーを削除するにはdel関数を使って以下のように書くことができます。
del persons["Ed"]
# pop関数で値を返して引き抜く
print(persons.pop("Ed")) # 19
forを使って辞書型を参照する
forを使って辞書型を参照できます。
先ほどvalues()関数によってvalueの一覧を表示しましたが、
今回はkeyの表示方法からみていきます。
persons = {"Jhon":20,"Jhan":28,"Boss":58}
for person in persons:
print(person) # Jhon Jhan Boss
続いて、keyとvalueを表示します。
for person,age in persons.items():
print(person,age) # Jhon 20 Jhan 28 Boss 58
タプル型が返ってくるitems()関数を2つの変数に代入しています。
この形式をunpackと言います。
unpackに分けない場合は配列のindexを使ってアクセスします。
for item in persons.items():
print(item[0],item[1]) # Jhon 20 Jhan 28 Boss 58
参考サイト
python公式ドキュメント