0
以前可能會問這個問題,但有人知道在Python中實現argmin的優雅方式嗎?也就是說,給定一個字典D將整數映射到整數,我想找到密鑰k,使D [k]最小化。在Python中爲詞典實現argmin
例如:
d = {1: 100, 2:200}
argmin(d) = 1
以前可能會問這個問題,但有人知道在Python中實現argmin的優雅方式嗎?也就是說,給定一個字典D將整數映射到整數,我想找到密鑰k,使D [k]最小化。在Python中爲詞典實現argmin
例如:
d = {1: 100, 2:200}
argmin(d) = 1
def argmin(z):
if not z: return None
min_val = min(z.values())
return [k for k in z if z[k] == min_val][0]
z = {1: 50, 2:100, 3:11}
min_index = argmin(z)
這是錯誤的,令人難以置信的效率低下。它需要二次時間,它使用'max'而不是'min',並且它使用'is'來使用'=='。 – user2357112
我不是說它不能改進。但是它如何使用二次時間?正如我所見,它是線性的。 – Santiago
@ user3267581:原始版本爲每個密鑰計算'min(z.values())'。 – user2357112