我用python创建了3个不同的字典,但我认为这不能合并到1个字典中,例如NewDict,因为所有3个字典中都有一个键,例如Name&公司

NewDict1 =  {'Name': 'John,Davies', 'Company': 'Google'}
NewDict2 =  {'Name': 'Boris,Barry', 'Company': 'Microsoft'}
NewDict3 =  {'Name': 'Humphrey,Smith', 'Company': 'Microsoft'}

我希望以这样一种方式对上面的内容进行分组,即我的输出如下:

谷歌:约翰·戴维斯微软:鲍里斯·巴里,汉弗莱·史密斯

任何帮助都将不胜感激.

推荐答案

使用defaultdict:

from collections import defaultdict

dicts = [NewDict1, NewDict2, NewDict3]

out = defaultdict(list)

for d in dicts:
    out[d['Company']].append(d['Name'])
    
dict(out)

输出:{'Google': ['John,Davies'], 'Microsoft': ['Boris,Barry', 'Humphrey,Smith']}

as printed string
for k,v in out.items():
    print(f'{k}: {", ".join(v)}')

输出:

Google: John,Davies
Microsoft: Boris,Barry, Humphrey,Smith

Python相关问答推荐

使用numpy提取数据块

如何将ctyles.POINTER(ctyles.c_float)转换为int?

点到面的Y距离

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

Python键入协议默认值

当独立的网络调用不应该互相阻塞时,'

PyQt5,如何使每个对象的 colored颜色 不同?'

Godot:需要碰撞的对象的AdditionerBody2D或Area2D以及queue_free?

如何创建一个缓冲区周围的一行与manim?

SQLAlchemy bindparam在mssql上失败(但在mysql上工作)

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

如何在Python Pandas中填充外部连接后的列中填充DDL值

语法错误:文档. evaluate:表达式不是合法表达式

在Python中控制列表中的数据步长

如何将泛型类类型与函数返回类型结合使用?

如何在信号的FFT中获得正确的频率幅值

我怎么才能用拉夫分拣呢?

为什么我只用exec()函数运行了一次文件,而Python却运行了两次?

一维不匹配两个数组上的广义ufunc

使用Scikit的ValueError-了解