第2問
ある値(value)を何らかのキー(key)を付けて記憶するデータ構造は、さまざま なプログラミング言語で利用可能である。 Python においては、辞書(dictionary)と呼ばれるデータ型が組み込まれてい る。辞書は、「キー: 値」という形のペアの集合であり、 {キー1: 値1, キー2: 値2, …, キーn: 値n} のように、「キー: 値」の各ペアをカンマで区切り、{ } で囲むことで定義できる。 例えば、 mis = {"科目名":"経営情報システム", "試験時間":"60 分"} として辞書mis を定義でき、mis["科目名"] でキー"科目名" に対応する値である "経営情報システム" を、また、mis["試験時間"] でキー"試験時間" に対応する値で ある"60 分" を参照することができる。なお、次のように、値には辞書型のデータ も指定することができる。 employee = { "E001":{"氏名":"中小太郎", "部門":"財務部"}, "E002":{"氏名":"診断次郎", "部門":"総務部"}} この場合、employee["E001"]["氏名"] で"中小太郎" を参照することができる。 いま、次のようにexam を定義するとき、値の参照に関する記述として、最も不 適切なものを下記の解答群から選べ。 exam = { "A":{"科目名":"科目A", "試験時間":"60 分", "配点":"100 点"}, "B":{"科目名":"科目B", "試験時間":"60 分", "配点":"100 点"}, "C":{"科目名":"科目C", "試験時間":"90 分", "配点":"100 点"}, "D":{"科目名":"科目D", "試験時間":"90 分"}, "E":{"科目名":"科目E", "試験時間":"60 分", "配点":"100 点"}, "F":{"科目名":"科目F", "試験時間":"60 分", "配点":"100 点"}, "G":{"科目名":"科目G", "試験時間":"90 分"} }
- ア exam["A"]["試験時間"] の値とexam["B"]["試験時間"] の値は等しい。
- イ exam["C"]["配点"] の値は、"100 点" である。
- ウ exam["D"] に、キー"配点" は存在しない。
- エ exam["E"]["試験時間"] の値とexam["G"]["試験時間"] の値は等しい。
- オ exam["F"]["科目名"] の値は、"科目F" である。
▼ 解答・解説を見る
正解:エ
解答:エ
ネストした辞書(dictionary)の値参照を読み取る問題。「最も不適切」型なので、定義と矛盾する記述が正解。各科目の値を定義に照らして確認する。
- ア(○):Aの試験時間は”60 分”、Bの試験時間も”60 分”。両者は等しい。正しい。
- イ(○):Cの配点は”100 点”。正しい。
- ウ(○):Dには”科目名”と”試験時間”しかなく、“配点”キーは存在しない。正しい。
- エ(×):Eの試験時間は”60 分”、Gの試験時間は”90 分”。両者は等しくない。これが不適切な記述。
- オ(○):Fの科目名は”科目F”。正しい。
最も不適切なのは エ。