#辞書型変数とは
辞書型変数は、複数の値をもつリストのような変数である。
リストではindexによってリスト内の要素を参照することができる。
一方で、辞書型変数ではkeyによってvalue(値)を参照することができる。
以下の例でリストと辞書型変数の違いを確認して頂きたい。
list={"apple","banana","chocolate"}
print(list[0])
>>>apple
dict={ "a":"apple" , "b":"banana" , "c":"chocolate" }
print(dict["a"])
>>>apple
上例で、変数名=dictが辞書型変数である。
a→apple
b→banana
c→chocolateに対応する。
a , b , c のことをkeyといい、
apple , banana , chocolate のことをvalueという。
#辞書型変数の宣言の仕方(dict関数,zip関数)
辞書型変数はdict関数、zip関数を使っても宣言できる。
書きやすいと感じる方法で宣言して頂ければと思う。
★dict関数
変数名=dict(key1=value1 , key2=value2 , ・・・)
で宣言することが出来る。
dict1=dict(a="apple" , b="banana" , c="chocolate")
print(dict1["a"])
>>>apple
これとzip関数を併用することでkeyとvalueを明確にした記述で宣言することが出来る。
key=["a","b","c"]
value=["apple","banana","chocolate"]
dict1=dict(zip(key,value))
print(dict1["a"])
>>>apple
key , value の取り出し方
辞書型変数に含まれるkeyを参照する方法は.keys()メソッド、
valueを参照する方法は.values()メソッドを使う。
key=["a","b","c"]
value=["apple","banana","chocolate"]
dict1=dict(zip(key,value))
print(dict1.keys())
>>>dict_keys(['a', 'b', 'c'])
print(dict1.values())
>>>dict_values(['apple', 'banana', 'chocolate'])
for文を使って一つずつ要素を取り出すこともできる。
key=["a","b","c"]
value=["apple","banana","chocolate"]
dict1=dict(zip(key,value))
for m in dict1.keys():
print(m)
>>>a
>>>b
>>>c
#要素の追加
辞書型変数の宣言後に、新たに要素を追加したい場合は
変数名[追加したいkey]=追加したいkeyに対するvalue
で追加することが出来る。
key=["a","b","c"]
value=["apple","banana","chocolate"]
dict1=dict(zip(key,value))
print(dict1)
>>>{'a': 'apple', 'b': 'banana', 'c': 'chocolate'}
dict1["d"]="dessert" #ここで新しいkeyとvalueを追加
print(dict1)
>>>{'a': 'apple', 'b': 'banana', 'c': 'chocolate' , 'd': 'dessert'}
辞書型変数に別の辞書型変数を組み合わせたいときは、
組み合わせ先dict.update(取り込みたいdict)
で二つの辞書から一つの辞書を生成することが出来る。
key1=["a","b","c"]
value1=["apple","banana","chocolate"]
dict1=dict(zip(key1,value1))
key2=["y","n"]
value2=["yes","no"]
dict2=dict(zip(key2,value2))
dict1.update(dict2)
print(dict1)
>>>{'a': 'apple', 'b': 'banana', 'c': 'chocolate' , 'y': 'yes' , 'n' ,'no'}
#要素の削除
要素の削除はdel文、clearメソッドの二つがある。
★del文
いくつかの要素を削除することが出来る。
del 変数名[削除したいkey1] , 変数名[削除したいkey2] , ...
key1=["a","b","c"]
value1=["apple","banana","chocolate"]
dict1=dict(zip(key1,value1))
del dict1["a"] , dict1["c"]
print(dict1)
>>>{'b': 'banana'}
★clearメソッド
全ての要素を削除する。
変数名.clear()
key1=["a","b","c"]
value1=["apple","banana","chocolate"]
dict1=dict(zip(key1,value1))
dict1.clear()
print(dict1)
>>>{}