我有一段代码可以按字母顺序对字典进行排序。是否有一种方法可以选择有序字典中的第i个键并返回其相应的值?即
import collections
initial = dict(a=1, b=2, c=2, d=1, e=3)
ordered_dict = collections.OrderedDict(sorted(initial.items(), key=lambda t: t[0]))
print(ordered_dict)
OrderedDict([('a', 1), ('b', 2), ('c', 2), ('d', 1), ('e', 3)])
我希望有一些类似于...的功能。
select = int(input("Input dictionary index"))
#User inputs 2
#Program looks up the 2nd entry in ordered_dict (c in this case)
#And then returns the value of c (2 in this case)
这该怎么实现呢?谢谢。
(类似于访问有序字典中的项,但我只想输出键值对中的值。)
ordered_dict[ordered_dict.keys()[index]]
。 - Ionut Hulubheapq
避免对整个initial
字典进行排序:result = initial[heapq.nsmallest(select+1, initial)[-1]]
- jfs