fromkeys と対称差
次のコードを実行したときの出力として、正しいものを1つ選べ。
print(dict.fromkeys(["a", "b"], 0), {1, 2} ^ {2, 3})
- A
{'a': 0, 'b': 0} {2} - B
{'a': 0, 'b': 0} {1, 3} - C
{'a': None, 'b': None} {1, 3} - D
['a', 'b'] {1, 2, 3}
正解と解説を見る
正解:B
dict.fromkeys(キー, 値) は、同じ値を持つ辞書を作る。値にミュータブルなオブジェクトを渡すと、全キーで共有されるので注意。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `print(dict.fromkeys(["a", "b"], 0), {1, 2} ^ …` | — |
| 結果 | 実際の出力 | {'a': 0, 'b': 0} {1, 3} |
- A
誤り。
{2}は共通部分(&)の結果。 - B
正しい。
fromkeysは、すべてのキーに同じ値を設定した辞書を作る。^は対称差。 - C
誤り。値には 0 を指定している。
- D
誤り。辞書を作る。
{1, 2, 3}は和集合。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。