1

リスト内のリストで構成されるリストがあります。内側のリストには、inner_list[0] が識別子/キーで、inner_list[1] が対応する値である 2 つの項目が含まれています。同じキーを共有する値が同じキーに追加される辞書にそれらを入れたいと思います。

例:

list = [['Jan', 'Jim'], ['Feb', 'Maggie'], ['Jan', 'Chris'], ['Sept', 'Joey'],..['key', 'value']]

私が探していた結果:

Jan = ['Jim', 'Chris']
Feb = ['Maggie']
Sept = ['Joey']

Pythonでこれをエレガントに行うことができるアイデアはありますか?

4

2 に答える 2

6

ここで使用できcollections.defaultdictます:

>>> from collections import defaultdict
>>> lis = [['Jan', 'Jim'], ['Feb', 'Maggie'], ['Jan', 'Chris'], ['Sept', 'Joey'],['key', 'value']]
>>> dic = defaultdict(list)
>>> for k, v in lis:
...     dic[k].append(v)

>>> dic['Jan']
['Jim', 'Chris']
>>> dic['Feb']
['Maggie']
>>> dic['Sept']
['Joey']
于 2013-06-11T05:31:04.277 に答える
0

を使用できますsetdefault

lis = [['Jan', 'Jim'], ['Feb', 'Maggie'], ['Jan', 'Chris'], 
       ['Sept', 'Joey'], ['key', 'value']]
dic = {}
for key, val in lis:
    dic.setdefault(key, []).append(val)
于 2013-06-11T06:47:57.890 に答える