我一直在寻找这个问题的答案,但没有快乐。
我有一个包含酒店名称和价格的字典。
mydict = {'HotelA': 100, 'HotelB': 300, 'HotelC': 200}
我只想迭代dict并返回一个单独的dict,其值根据最低值到最高值对键进行排名,例如:
mynewdict = {'HotelA': 1, 'HotelB': 3, 'HotelC': 2}
我知道如何使用sorted
迭代字典并提供有序列表,但我不确定处理上述问题的最佳方法。所有人都非常感谢。
答案 0 :(得分:0)
>>>import operator
>>>mydict = {'HotelA': 100, 'HotelB': 300, 'HotelC': 200}
#Sorting a list of tuples based on their second element (the value ex.: 100, 200, 300)
>>>sorted_list = sorted(mydict.iteritems(), key=operator.itemgetter(1))
在这种情况下,sorted_list将是一个有序的元组列表,每个元组包含酒店的名称和值:
[('HotelA', 100), ('HotelC', 200), ('HotelB', 300)]