0

我一直在寻找这个问题的答案一段时间,但没有快乐。

我有一个包含酒店名称和价格的字典。

mydict = {'HotelA': 100, 'HotelB': 300, 'HotelC': 200}

我只想遍历字典并返回一个单独的字典,其值根据最低到最高值对键进行排名,例如:

mynewdict = {'HotelA': 1, 'HotelB': 3, 'HotelC': 2}

我知道如何使用sorted来遍历字典并提供有序列表,但不确定处理上述内容的最佳方法。非常感谢所有帮助。

4

1 回答 1

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)]
于 2013-09-16T15:23:06.373 回答