辞書内包表記と zip
次のコードを実行したときの出力として、正しいものを1つ選べ。
d = {k: v for k, v in zip("abc", range(3))}
print(d)
- A
{'a': 1, 'b': 2, 'c': 3} - B
[('a', 0), ('b', 1), ('c', 2)] - C
{'a': 0, 'b': 1, 'c': 2} - D
{0: 'a', 1: 'b', 2: 'c'}
正解と解説を見る
正解:C
辞書内包表記は {キー: 値 for 変数 in 反復可能}。zip は複数の反復可能から組を作る。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `d = {k: v for k, v in zip("abc", range(3))}` | d = {'a': 0, 'b': 1, 'c': 2} |
| 2 | `print(d)` | d = {'a': 0, 'b': 1, 'c': 2} |
| 結果 | 実際の出力 | {'a': 0, 'b': 1, 'c': 2} |
- A
誤り。
range(3)は 0 から始まる。 - B
誤り。辞書内包表記なので辞書になる。
- C
正しい。
zipで文字と数を組にして、辞書内包表記で辞書にする。 - D
誤り。キーと値が逆。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。