【发布时间】:2013-08-14 18:58:54
【问题描述】:
我想遍历字典的子集以找到子集中的最小值。我可以使用生成器表达式来获取值:
>>> S = {'a', 'c'}
>>> D = {'a': 2, 'b': 0, 'c': 1, 'd': 3}
>>> min(D[k] for k in S)
1
要获取关联的密钥,我想这是可能的:
>>> subset_min = min(D[k] for k in S)
>>> [k for k, v in D.iteritems() if v == subset_min]
['c']
但肯定有一种方法不需要再次搜索字典吗?我希望像min(D, key=D.get) 那样讨论here,但我不知道如何在这种情况下应用它。
【问题讨论】:
-
如果有两个键的最小值,你需要它们两个,还是任何一个就足够了?
标签: python dictionary iterator generator