[英]max value from dictionary
我有一个字典看起来像
dic = {
"X": 15,
"Y": 20,
"Z": 2
}
然后我将每个字典的最小值加到每个值上。 我写这段代码
minimum = min(list(dic.values()))
dic["X"] = dic["X"] + minimum
dic["Y"] = dic["Y"] + minimum
dic["Z"] = dic["Z"] + minimum
所需结果
{ "X": 17, "Y": 22, "Z": 4 }
我的代码有效,但是我认为它不是很好的解决方案。 有人比我有更好的解决方案
dic = {
"X": 15,
"Y": 20,
"Z": 2
}
minimum = min(dic.values())
for key in dic:
dic[key] += minimum
print(dic)
出:
{'X': 17, 'Z': 4, 'Y': 22}
如何使用min():
min(iterable, *[, key, default ])
min(arg1, arg2, *args[, key ])
如果提供了一个位置参数,则它应该是可迭代的 。 返回iterable中的最小项。 如果提供了两个或多个位置参数,则返回最小的位置参数。
dic[key] = value
是就地更改,无需生成新的dict容器。
或使用dict理解 :
minimum = min(dic.values())
dic2 = {x: val + minimum for x, val in dic.items()}
注意:对于min
您无需list
值; 这只会创建一个不必要的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.