我想遍历字典的子集以找到子集中的最小值。我可以使用生成器表达式来获取值:
>>> 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)
讨论的那样,但我看不出在这种情况下如何应用它。