Python 如何合并2个dict列表

Python 如何合并2个dict列表,python,Python,我有两个dict列表,我想基于具有相同值的键合并这两个dict列表 比如说 dict1 = [{'date_time': '2020-10-11 10:00', 'value': 10},{'date_time': '2020-10-11 11:00', 'value': 20},{'date_time': '2020-10-11 12:00', 'value': 30}] dict2 = [{'date_time': '2020-10-11 13:00', 'value2': 10},{'d

我有两个dict列表,我想基于具有相同值的键合并这两个dict列表

比如说

dict1 = [{'date_time': '2020-10-11 10:00', 'value': 10},{'date_time': '2020-10-11 11:00', 'value': 20},{'date_time': '2020-10-11 12:00', 'value': 30}]

dict2 = [{'date_time': '2020-10-11 13:00', 'value2': 10},{'date_time': '2020-10-11 11:00', 'value2': 30},{'date_time': '2020-10-11 12:00', 'value2': 20}]

resultant_dict = [{'date_time': '2020-10-11 13:00', 'value2': 10},{'date_time': '2020-10-11 11:00', 'value2': 30, 'value': 20},{'date_time': '2020-10-11 12:00', 'value2': 20, 'value': 30}, {'date_time': '2020-10-11 10:00', 'value': 10}]

一个简单有效的方法是使用熊猫

def merge(lst1, lst2):
    # Convert list of dictionaries to dataframes
    df1 = pd.DataFrame(lst1)
    df2 = pd.DataFrame(lst2)

    # Use Merge to place common keys together based upon time (outer merge)
    df = pd.merge(df1, df2, on='date_time', how='outer')

    # Using https://stackoverflow.com/questions/26033301/make-pandas-dataframe-to-a-dict-and-dropna
    # Convert Dataframe to dictionary list dropping NAN column values in DataFrame
    return [ v.dropna().to_dict() for k,v in df.iterrows() ]
用法

print(merge(dict1, dict2))
# Output
[{'date_time': '2020-10-11 10:00', 'value': 10.0},
 {'date_time': '2020-10-11 11:00', 'value': 20.0, 'value2': 30.0},
 {'date_time': '2020-10-11 12:00', 'value': 30.0, 'value2': 20.0},
 {'date_time': '2020-10-11 13:00', 'value2': 10.0}]

你能给我们分享一些你试过的代码吗?dict1_list={d['date_time']:dict1中的d代表d}dict2:dict1_list.setdefault(d['date_time'],dict())。更新(d)并分享你的代码有
value
value2
自定义类,或者你忘了引号了吗?我忘了加引号