入れ子の辞書内包表記
次のコードを実行したときの出力として、正しいものを1つ選べ。
print({k: [v * 2 for v in vs] for k, vs in {"a": [1, 2]}.items()})
- A
{'a': [1, 2]} - B
{'a': [2, 4]} - C
{'a': 4} - D
[('a', [2, 4])]
正解と解説を見る
正解:B
内包表記は入れ子にできる。複雑になるときは、通常のループや関数に分けた方が読みやすい。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `print({k: [v * 2 for v in vs] for k, vs in {"…` | — |
| 結果 | 実際の出力 | {'a': [2, 4]} |
- A
誤り。内側で 2 倍にしている。
- B
正しい。外側の辞書内包表記と、内側のリスト内包表記を組み合わせる。
- C
誤り。値はリスト。
- D
誤り。辞書内包表記なので辞書になる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。