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公式ドキュメント

このエントリーをはてなブックマークに追加