Python 列表/元组到字典。如何堆叠数据而不是替换它们?

Python 列表/元组到字典。如何堆叠数据而不是替换它们?,python,list,dictionary,data-structures,tuples,Python,List,Dictionary,Data Structures,Tuples,我的源数据如下: source= [['data1', 'foo'], ['data2', 'bar'], ['data3', 'ddd1'], ['data2', 'ddd2'], ['data2', 'new'], ['data1', 'data']] 当然,我可以dict(key,value)表示源代码中的key,value,但这将给我data1:data,data2:new和data3:ddd1。我要找的是:dat

我的源数据如下:

   source= [['data1', 'foo'],   
      ['data2', 'bar'],
      ['data3', 'ddd1'],
      ['data2', 'ddd2'],
      ['data2', 'new'],
      ['data1', 'data']]
当然,我可以
dict(key,value)表示源代码中的key,value,但这将给我
data1:data
data2:new
data3:ddd1
。我要找的是:
data1:['foo','data']
data2:['bar','ddd2']
data3:['ddd1']
,有什么方法可以做到这一点吗

您正在寻找课程:

>>从集合导入defaultdict
>>>d=默认DICT(列表)
>>>source=[['data1','foo'],
…['data2','bar'],
…['data3','ddd1'],
…['data2','ddd2'],
…[“数据2”,“新”],
…['data1','data']]
...
>>>对于源中的k,v:
...     d[k]。追加(v)
...
>>>d
defaultdict(,{'data1':['foo','data'],'data2':['bar','ddd2','new'],'data3':['ddd1']})

我很好奇为什么-1.当你将鼠标悬停在向下投票按钮上时,它会说
这个问题没有显示任何研究成果;它不清楚或没有用处
。我相信分号前面的部分很合适。我只是快速搜索了一下。我的第一个查询是
python-list-to-dictionary,将已使用的键追加到
。第二个结果给出了答案。然而,这不是唯一的一个。Martijn发现的是另一个。嗨,Zondo,谢谢你的回复,不幸的是我没有用这些词。我用了像stack这样的词。我的错。但是,是的,我已经研究了一个解决方案(在一段时间内),然后在这里发布。对不起。
>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> source= [['data1', 'foo'],   
...       ['data2', 'bar'],
...       ['data3', 'ddd1'],
...       ['data2', 'ddd2'],
...       ['data2', 'new'],
...       ['data1', 'data']]
...
>>> for k,v in source:
...     d[k].append(v)
...
>>> d
defaultdict(<class 'list'>, {'data1': ['foo', 'data'], 'data2': ['bar', 'ddd2', 'new'], 'data3': ['ddd1']})