簡體   English   中英

將列表列表中的元素添加到Python中的字典中

[英]Adding elements from a list of lists into dictionary in Python

我有一個列表,其中包含一個列表。 內部列表包含兩個項目,inner_list [0]是標識符/關鍵字,inner_list [1]是相應的值。 我想將它們放入字典中,其中共享相同鍵的值將附加到相同鍵。

一個例子:

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

我一直在尋找的結果:

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

有什么想法可以用Python優雅地做到嗎?

您可以在此處使用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']

您可以使用setdefault ,因此:

lis = [['Jan', 'Jim'], ['Feb', 'Maggie'], ['Jan', 'Chris'], 
       ['Sept', 'Joey'], ['key', 'value']]
dic = {}
for key, val in lis:
    dic.setdefault(key, []).append(val)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM