3

私は次のような巨大なリストを持っています

['a', '2'] ['a', '1'] ['b', '3'] ['c', '2'] ['b', '1'] ['a', '1']['b', '1'] ['c', '2']['b', '3'] ['b', '1']

私はこれを見て、最初のアイテムごとに2番目のアイテムの数の出力を取得したいと思います:

{a:[2,1,1] b:[3,1,3,1] c:[2,2]}
4

3 に答える 3

11
data = [['a','2'],['a','1'],['b','3'],['c','2'],['b','1'],['a','1'],['b','1'],['c','2'],['b','3'],['b','1']]
result = {}
for key, value in data:
    result.setdefault(key, []).append(value)

結果:

>>> result
{'a': ['2', '1', '1'], 'c': ['2', '2'], 'b': ['3', '1', '1', '3', '1']}

存在しないキーにアクセスしようとすると、値 (この場合は空のリスト) を与える代わりに例外が発生する通常の辞書になるため、defaultdictよりもdict.setdefault()を好みます。

于 2013-06-11T17:09:40.813 に答える