我有以下列表。
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'
则不应该” t为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}
是否有任何简单且智能的方法?
列表理解应该足够了:
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'}
my_list = ['20/20', '30/30', '20/80', '120/120', '120/140', '165/165', '30/170', '165/175']
dict = dict( (i,element[0] if element[0] == element[1] else element[1]) for element,i in zip([item.split('/') for
item in my_list
],my_list) )
print(dict)