私は次のような巨大なリストを持っています
['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]}
私は次のような巨大なリストを持っています
['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]}
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()を好みます。