辞書型変数とは
辞書型変数は、複数の値をもつリストのような変数である。
リストではindexによってリスト内の要素を参照することができる。
一方で、辞書型変数ではkeyによってvalue(値)を参照することができる。
以下の例でリストと辞書型変数の違いを確認して頂きたい。
list={"apple","banana","chocolate"}print(list[0])>>>appledict={"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))formindict1.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))deldict1["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)>>>{}