首页 > 解决方案 > 仅获取列表中的唯一项目并通过将其放入字典来跟踪更改 - Pandas Python

问题描述

我有以下清单。

my_list = ['20/20', '30/30', '20/80', '120/120', '120/140', '165/165', '30/170', '165/175']

我想删除任何重复项,并希望在列表中保留唯一项目并通过转换字典来跟踪它们。

例如,20/20应该更改为20并将其放入字典中{'20/20':20},对于'30/30'更改为30并将其放入字典中{'30/30': 30},但'20/80'它不应该是 20,因为我之前在字典中有 20,所以它应该是80并将其放入字典中{'20/80':80}。相同的过程适用于其余列表。

我的预期结果看起来像下面的字典。

my_dict = {'20/20':20, '30/30': 30, '20/80':80, '120/120':120, '120/140':140, '165/165': 165, '30/170': 170, '165/175':175}

有没有简单而智能的方法来做到这一点?

标签: pythonpandaslistdictionary

解决方案


列表理解应该足够了:

my_dict = dict((elem, elem.split('/')[1]) for elem in my_list)

结果:

{'20/20': '20', '30/30': '30', '20/80': '80', '120/120': '120', '120/140': '140', '165/165': '165', '30/170': '170', '165/175': '175'}

推荐阅读