将字典值与其他字典进行比较
Compare dict value with other dict
我有一个包含阈值的字典和一个包含一些实际数量的字典。 它并不总是包含最小阈值字典中的所有键。
现在我想比较 actualAmounts 和 minimumTresholds,这是我想出的,但这不起作用
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for k, v in actualAmounts.items():
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
print(actualAmounts[k])
预期结果为:
'key 3'
有什么想法吗?
这应该有效:
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for i in actualAmounts.keys() :
if i in minimumTresholds.keys() and actualAmounts[i] < minimumTresholds[i] :
print(i)
你的逻辑有问题
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
您正在使用一个值在 dict 中进行查找。
actualAmounts[v] 将抛出一个错误,因为该值不是该字典中的键。
您可以使用 in
关键字检查密钥是否存在于另一个字典中:
for key, value in actualAmounts.items():
if key in minimumTresholds and value < minimumTresholds[key]:
print(key)
我有一个包含阈值的字典和一个包含一些实际数量的字典。 它并不总是包含最小阈值字典中的所有键。
现在我想比较 actualAmounts 和 minimumTresholds,这是我想出的,但这不起作用
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for k, v in actualAmounts.items():
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
print(actualAmounts[k])
预期结果为:
'key 3'
有什么想法吗?
这应该有效:
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for i in actualAmounts.keys() :
if i in minimumTresholds.keys() and actualAmounts[i] < minimumTresholds[i] :
print(i)
你的逻辑有问题
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
您正在使用一个值在 dict 中进行查找。
actualAmounts[v] 将抛出一个错误,因为该值不是该字典中的键。
您可以使用 in
关键字检查密钥是否存在于另一个字典中:
for key, value in actualAmounts.items():
if key in minimumTresholds and value < minimumTresholds[key]:
print(key)