首页 > 解决方案 > 分别组合(合并)列表中的多个字典

问题描述

我有一个名为的列表dlist ,其中包含许多具有相同键的字典(“备注:”)。

dlist = [{'Remark:': 'S : RIH W/14" MAGNET (3TIMES) R I H W/2-1/2 R.CIR BASKET &    C'},
 {'Remark:': 'ORRING F/64 TO 64.6 P O H NO CONE, LAY DOWN F.TOOL @ RT.       R'},
 {'Remark:': 'RIH W/14" MAGNET & 8-1/2 DC TO 64 MT & CIR ON TOP OF FISH &   100'}]

我想分别组合字典的值以获得有意义的句子(句子的顺序对我来说很重要)。我使用了以下代码:

Combine_Dict2 = {item['Remark:'] for item in dlist if isinstance(item, dict) and 'Remark:' in item}

我的输出是:

Combine_Dict2 = {'ORRING F/64 TO 64.6 P O H NO CONE, LAY DOWN F.TOOL @ RT.       Ra, 'RIH W/14" MAGNET & 8-1/2 DC TO 64 MT & CIR ON TOP OF FISH &   100', 'S : RIH W/14" MAGNET (3TIMES) R I H W/2-1/2 R.CIR BASKET &    C'}

没有遵守句子的顺序。请帮我。

标签: pythondictionary

解决方案


使用列表推导而不是集合推导来维护顺序:

改变:

Combine_Dict2 = {item['Remark:'] for item in dlist if isinstance(item, dict) and 'Remark:' in item}

Combine_Dict2 = [item['Remark:'] for item in dlist if isinstance(item, dict) and 'Remark:' in item]

使用{}使其成为集合理解,[]是列表理解


推荐阅读