基于另一个字典中的键的字典中的增量值

2024-06-16 10:39:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个masterDict字典,键“1”到“8”,值设置为0

{'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}

我还使用anotherDict查找包含最接近另一个值的值的键(我使用不同的值多次这样做)

这些其他值之一的示例是value1 = 900

anotherDict的一个例子是:

{'1': 74, '2': 938, '3': 28, '4': 10, '5': 100, '6': 33, '7': 45, '8': 99}

我用来在anotherDict中查找最接近value1的值的代码是:

closestValue1 = key, value = min(anotherDict.items(), key=lambda (_, v): abs(v - value1))

在本例中,closestValue1返回:

{'2': 938}

我该如何将masterDict中的键2值增加1

因此,masterDict将包含:

{'1': 0, '2': 1, '3': 0, '4': 0, '5': 0, '6':0, '7':0, '8': 0}

Tags: lambdakey代码示例字典valueitemsabs
1条回答
网友
1楼 · 发布于 2024-06-16 10:39:29
master_dict = {'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}
another_dict = {'1': 74, '2': 938, '3': 28, '4': 10, '5': 100, '6': 33, '7': 45, '8': 99}
target_val = 900
target_key, _ = min(another_dict.items(), key=lambda x: abs(target_value-x[1])) 
master_dict[target_key]+=1
print (master_dict)

相关问题 更多 >