LoginSignup
21
16

More than 3 years have passed since last update.

【Python】辞書型変数(dictionary)

Posted at

辞書型変数とは

辞書型変数は、複数の値をもつリストのような変数である。
リストではindexによってリスト内の要素を参照することができる。
一方で、辞書型変数ではkeyによってvalue(値)を参照することができる。
以下の例でリストと辞書型変数の違いを確認して頂きたい。

dict.py
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 , ・・・)
で宣言することが出来る。

dict_f.py
dict1=dict(a="apple" , b="banana" , c="chocolate")
print(dict1["a"])
>>>apple

これとzip関数を併用することでkeyとvalueを明確にした記述で宣言することが出来る。

dict_zip_f.py
key=["a","b","c"]
value=["apple","banana","chocolate"]
dict1=dict(zip(key,value))
print(dict1["a"])
>>>apple

key , value の取り出し方

辞書型変数に含まれるkeyを参照する方法は.keys()メソッド、
valueを参照する方法は.values()メソッドを使う。

dict_zip_f.py
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文を使って一つずつ要素を取り出すこともできる。

dict_zip_f.py
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
で追加することが出来る。

dict_zip_f.py
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)
で二つの辞書から一つの辞書を生成することが出来る。

dict_zip_f.py
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] , ...

dict_zip_f.py
key1=["a","b","c"]
value1=["apple","banana","chocolate"]
dict1=dict(zip(key1,value1))
del dict1["a"] , dict1["c"]
print(dict1)
>>>{'b': 'banana'}

★clearメソッド
全ての要素を削除する。
変数名.clear()

dict_zip_f.py
key1=["a","b","c"]
value1=["apple","banana","chocolate"]
dict1=dict(zip(key1,value1))
dict1.clear()
print(dict1)
>>>{}
21
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
16