Python ドキュメントの例を読みましたが、このメソッドの意味がまだわかりません。誰か助けてもらえますか? Python ドキュメントからの例を 2 つ示します。
>>> from collections import defaultdict
>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
... d[k] += 1
...
>>> d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
そして
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
... d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
パラメータint
とはlist
何のために使用されるのでしょうか?
ベストアンサー1
通常、Python 辞書は、KeyError
現在辞書に存在しないキーを持つ項目を取得しようとすると をスローします。defaultdict
対照的に は、アクセスしようとする項目を単純に作成します (もちろん、まだ項目が存在しない場合)。このような「デフォルト」項目を作成するには、コンストラクタに渡す関数オブジェクトを呼び出します (より正確には、関数オブジェクトと型オブジェクトを含む任意の「呼び出し可能」オブジェクトです)。最初の例では、デフォルトの項目は を使用して作成されint()
、整数オブジェクト が返されます0
。2 番目の例では、デフォルトの項目は を使用して作成されlist()
、新しい空のリスト オブジェクトが返されます。