gpt4 book ai didi

python - 从两个具有匹配值的字典列表创建一个字典

转载 作者:行者123 更新时间:2023-12-01 08:41:10 25 4
gpt4 key购买 nike

我有两个字典列表,dict1dict2

dict1 = [
{
'id': 0,
'name': 'James'
}, {
'id': 1,
'name': 'Bob'
}
]

dict2 = [
{
'id': 0,
'name': 'James'
}, {
'id': 1,
'name': 'James'
}, {
'id': 2,
'name': 'Bob'
}
]

我想创建一个这样的字典:

result = {'James': [0, 1], 'Bob': [2]}

使用 dict1 中的名称作为键,将具有相同名称的 “id” 字段列表作为值。

在 Python 中执行此操作的干净方法是什么?

最佳答案

IIUC,我相信最后一行应该是 Bob 而不是 James。这样,使用pandas

import pandas as pd
>>> df1 = pd.DataFrame(dict1)
>>> df2 = pd.DataFrame(dict2)

>>> df2.groupby('name').agg(list).to_dict()['id']
{'Bob': [2], 'James': [0, 1]}

仅过滤 dict1 中的名称

>>> df2 = df2[df2['name'].isin(df1['name'])]

然后是groupagg

关于python - 从两个具有匹配值的字典列表创建一个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53484724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com