我有一个python字典列表,如下所示:
[{'category': 'software', 'name': 'irssi', 'version': '1.2.0'},
{'category': 'software', 'name': 'irssi', 'version': '1.1.2'},
{'category': 'software', 'name': 'hexchat', 'version': '2.14.2'}]
(正在分析某些数据txt文件)
我想做的是:
如果category和name相同,我希望保留包条目的第一个外观,并删除其余条目,因此最终输出将如下所示:
^{pr2}$我应该如何实现这一点?我试图将字典列表转换为一个字典,然后用dict.items()
对其进行迭代,但没有成功。在
使用
itertools.groupby
,并取每组中的第一个:使用^{} 跟踪您已经看到的所有
(category, name)
对:这可以概括为一个函数:
^{pr2}$假设您希望保留最后一个版本,那么您可以创建一个字典来保存每个类别/名称对的最新版本的软件信息。然后从字典中获取值列表:
相关问题 更多 >
编程相关推荐