【发布时间】:2015-07-17 11:27:45
【问题描述】:
这可能以前被问过,但是有人知道在 Python 中实现 argmin 的优雅方法吗?也就是说,给定一个字典 D 将整数映射到整数,我想找到键 k 使得 D[k] 最小化。
例如:
d = {1: 100, 2:200}
argmin(d) = 1
【问题讨论】:
标签: python function dictionary
这可能以前被问过,但是有人知道在 Python 中实现 argmin 的优雅方法吗?也就是说,给定一个字典 D 将整数映射到整数,我想找到键 k 使得 D[k] 最小化。
例如:
d = {1: 100, 2:200}
argmin(d) = 1
【问题讨论】:
标签: python function dictionary
def argmin(d):
if not d: return None
min_val = min(d.values())
return [k for k in d if d[k] == min_val][0]
d = {1: 50, 2:100, 3:11}
min_index = argmin(d)
编辑
min 有一个可选的 key 参数,因此您可以使用它来代替:
min_index = min(d, key=d.get)
【讨论】:
max 而不是min,它使用is,它应该使用==。
min(z.values())。
%timeit,如果你在列表理解中使用min(z.values()),它的速度会大大降低。