{キー:値}の様に、キーとその値を対にしてコロンで区切り、それをコンマで繋いで行くことで、
データベースの様な使い方が出来る。
要素の値が代入されていることが前提なので、要素に値が無い(キーは有るが値は無い)辞書は作れない。
しかし、要素が無い(要素の数が0)の辞書を宣言し、後から要素を追加する事は出来る。
以下、反復は、for 変数 in range関数 で処理をする例。
# dict_01a.py by Ryn score = { '名前':'安藤','速度':710,'文書':82,'筆記':84 } print('score = ', score) print() print('名前 = ', score['名前']) print('速度 = ', score['速度'])
辞書型の入れ子
# dict_01b.py by Ryn score = { '名前':'安藤','実技':{'速度':710,'文書':82},'筆記':84 } print('score = ', score) print() print('名前 = ', score['名前']) print('実技 = ', score['実技']) print('速度 = ', score['実技']['速度'])
複数の辞書型のデータをリストにする。
# dict_02a.py by Ryn score = [ {'名前':'安藤','速度':710,'文書':82,'筆記':84}, {'名前':'加藤','速度':697,'文書':78,'筆記':74}, {'名前':'斎藤','速度':705,'文書':88,'筆記':92} ] for i in range(len(score)): print('score[%d]= ' % i, score[i]) print('名前 = ', score[i]['名前']) print('速度 = ', score[i]['速度']) print()
入れ子にした辞書型のデータのリスト
# dict_2b.py by Ryn score = [ {'名前':'安藤','実技':{'速度':710,'文書':82},'筆記':84}, {'名前':'加藤','実技':{'速度':697,'文書':78},'筆記':74}, {'名前':'斎藤','実技':{'速度':705,'文書':88},'筆記':92} ] for i in range(len(score)): print('score[%d]= ' % i, score[i]) print('名前 = ', score[i]['名前']) print('実技 = ', score[i]['実技']) print('速度 = ', score[i]['実技']['速度']) print()
複数の辞書型データをリストにする場合、
キーとその値との組み合わせで処理をするので、記述するキーの順番は問わない。
また、キーが全て揃っていなくとも構わない。但し、実行中に必要なキーが見付からないとエラーとなるため、
10行目で、入力した科目のキーが有るかどうかの判定をしている。
# dict_03.py by Ryn score = [ {'名前':'安藤','国語':71,'数学':82,'英語':84}, {'名前':'加藤','国語':69,'英語':78,'理科':74}, {'名前':'斎藤','理科':70,'国語':88} ] subject: str = input('科目 --> ') for i in range(len(score)): if subject in score[i]: print('%s %d ' % (score[i]['名前'], score[i][ subject ] ) )