将dict值与其他dict进行比较



我有一个dict,它包含trehold值和一个具有一些尖锐量的dict它并不总是包含来自最小权限字典的所有密钥。

现在我想将实际金额与最小Tresholds进行比较,这是我想到的,但不起作用

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'

有什么想法吗?

您的逻辑有问题。

if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:您正在一个具有值的dict中进行查找。actualAmounts[v]将更正错误,因为该值不是该dict中的键。

您可以使用in关键字检查密钥是否存在于另一个dict中:

for key, value in actualAmounts.items():
if key in minimumTresholds and value < minimumTresholds[key]:
print(key)

这应该有效:

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)

相关内容

  • 没有找到相关文章

最新更新