Python 模擬試験

Python実践 模擬試験 第6回 問23・9章 データ型とアルゴリズム(collections)

defaultdict の参照

次のコードを実行したときの出力として、正しいものを1つ選べ。

from collections import defaultdict
d = defaultdict(int)
d["a"] += 1
print(dict(d), d["zz"], len(d))
  1. A

    {'a': 1} 0 1

  2. B

    {'a': 1} KeyError 1

  3. C

    {'a': 1} 0 2

  4. D

    {'a': 1, 'zz': 0} 0 2

正解と解説を見る

正解:C

defaultdict は、存在しないキーを参照すると、既定値を作って保存する。参照しただけでキーが増える点に注意する。

順実行する行実行後の変数
1`from collections import defaultdict`—
2`d = defaultdict(int)`d = defaultdict(<class 'int'>, {})
3`d["a"] += 1`d = defaultdict(<class 'int'>, {'a': 1})
4`print(dict(d), d["zz"], len(d))`d = defaultdict(<class 'int'>, {'a': 1, 'zz…
結果実際の出力{'a': 1} 0 2

学習のポイント:in 演算子や get では、キーは増えない。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。