目標
(pythonの)「辞書」について作成方法を理解する。
(pythonの)「辞書」について値の取り出し方法を理解する。
「dict関数」の引数に「zip関数」を利用して辞書を作成する方法を理解する。
インデックス式を利用した値の取り出し方法を理解する。
getメソッドを利用した値の取り出し方法を理解する。
(pythonの)「辞書」の利用方法
(pythonの)「辞書」の作成と基本的な値の取り出し
(pythonの)「辞書」の作成方法には「{}(辞書表記演算子)を利用する方法」と「dict関数(組み込み関数)を利用する方法」の2つがあります。作成する辞書の値にはリストなども利用できます。
辞書の値を取り出すには、要素のキー(key)を利用します。入力は「辞書名.キー名」と入力します。
「{}(辞書表記演算子)」を利用する方法
辞書の作成方法のひとつめは「{}(辞書表記演算子)を利用する方法」です。辞書表記演算子はキーボードのEnterキーの左にある []括弧 をShiftキーを押したまま押下します。
サンプルプログラム(辞書表記演算子による辞書の作成と値の取り出し)
# キーに文字列、値にリストを用いた辞書を作成しています。
# キーと値は「:」コロンを利用して区切ります。
# 各要素は「,」カンマで区切ります。
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
# 値は要素のキーを利用して取り出します。
print('onion' ,'--->',vegetables['onion'])
print('carrot','--->',vegetables['carrot'])
# 辞書の全ての要素を確認できます。
print(vegetables)
実行結果
辞書での基本的な値の取り出し方法
実行結果にある通り、辞書の値は、「辞書名.キー名」(vegetables[‘onion’ ])として取り出しています。
辞書の全ての要素を確認する場合、変数名(辞書名)「print(vegetables)」のみを利用します。
サンプルプログラム(辞書表記演算子による辞書の作成と存在しないキーの利用)
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
print('onion' ,'--->',vegetables['okra'])
実行結果
サンプルプログラム(辞書表記演算子による空の辞書の作成)
vegetables = {}
print(vegetables)
実行結果
「dict関数(組み込み関数)」を利用する方法
辞書の作成方法のふたつめは「dict関数(組み込み関数)を利用する方法」です。辞書表記演算子の場合と異なる点は次の通りです。
{}(辞書表記演算子) | dict関数(組み込み関数) |
キーが文字列の場合、 シングルクォーテーションを利用する | キーが文字列の場合でも、 シングルクォーテーションは不要 |
キーと値の間は「:」コロン | キーと値の間は「=」イコール |
サンプルプログラム(dict関数による辞書の作成と値の取り出し)
# キーにシングルクォーテーションを利用しません。
# キーと値は「=」を利用して結びつけします。
# 各要素は「,」カンマで区切ります。
vegetables = dict(
tomato = [150, 50],
onion = [100, 45],
cucumber = [45, 34],
carrot = ['null','null'],
eggplant = [98, 67],
potato = [68, 101]
)
# 値は要素のキーを利用して取り出します。
print('onion' ,'--->',vegetables['onion'])
print('carrot','--->',vegetables['carrot'])
実行結果
サンプルプログラム(dict関数を利用してリストやタプルから辞書を作成する)
「dict関数」を利用すると「リスト」や「タプル」などのオブジェクトからも
「辞書」を作成できます。
「dict関数」の引数にはオブジェクトを利用することも可能です。サンプルプログラムでは、引数にリストオブジェクトを結びつけた変数名を利用しています。
vegetables_list = [
['tomato', [150, 50]],
['onion', [100, 45]],
['cucumber', [45, 34]],
['carrot', ['null','null']],
['eggplant', [98, 67]],
['potato', [68, 101]]
]
vegetables_dict = dict(vegetables_list)
print(vegetables_dict)
実行結果
「dict関数」の引数に「zip関数」を利用して辞書を作成する方法
「dict 関数」の引数に「zip関数」を利用して辞書を作成することができます。zip 関数の引数には「key(キー)」と「value(値)」として別々のイテラブルオブジェクトを指定します。
vegetables_name = ['tomato', 'onion', 'cucumber', 'carrot', 'eggplant', 'potato']
vegetables_data = [[150, 50], [100, 45], [45, 34], ['null','null'], [98, 67], [68, 101]]
vegetables_dict = dict(zip(vegetables_name, vegetables_data))
print(vegetables_dict)
実行結果
辞書での値の取り出し方法
辞書の値を取り出す方法には「インデックス式を利用する方法」と「getメソッドを利用する方法」があります。
「インデックス式」を利用した値の取り出し方法
「辞書」ではインデックス式に「キー(key)」を利用して値を取り出すことができます。取り出し時には、事前に指定する「キー」が辞書の要素として存在しているか「in演算子」を利用して確認します。
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
input_vegetable = input('野菜名(英語)を入力してください。')
if input_vegetable in vegetables:
print('{}の値段は{}、在庫は{}です。'.format(
input_vegetable,
vegetables[input_vegetable][ 0 ],
vegetables[input_vegetable][ 1 ])
)
実行結果
「野菜名(英語)を入力してください。」という表示の後に「eggplant」と入力したときの結果です。
「get メソッド」を利用した値の取り出し方法
「get メソッド」を利用すると「存在しないkey」を利用した場合、キーワード
引数の「default」の値が返されます。「default」に値が設定されていない場合は「None」を返します。
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
input_vegetable = input('野菜名(英語)を入力してください。')
if vegetables.get(input_vegetable) != None:
print('{}の値段は{}、在庫は{}です。'.format(
input_vegetable,
vegetables[input_vegetable][ 0 ],
vegetables[input_vegetable][ 1 ])
)
else:
print('正しくキーを入力してください。')
実行結果(キーが存在する場合)
実行結果(キーが存在しない場合)
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。