【发布时间】:2018-11-23 21:50:09
【问题描述】:
我有一本字典myDict
{'1': 5, '2': 15, '3', 50}
我的目标号码是12
我正在使用此代码在myDict 中查找最接近12 的号码
answer = key, value = min(myDict.items(), key=lambda (_, v): abs(v - targetNumber))
answer 返回('2', 15)
这是我想要的键/值,但我现在真正需要的是2。
当我打印myDict[key] 时,它返回15
我怎样才能返回我认为 的关键,但现在它在那个元组中,我不确定我到底在处理什么。
我想结束:
2
【问题讨论】:
-
我不明白......你已经得到答案......它是
answer[0]...... -
你说得对,谢谢!
-
它是
myDict[answer[0]] -
answer, forget_this_value =min(myDict.items(), key=lambda (_, v): abs(v - targetNumber))- 它称为分解 - 您将元组结果分解为 2 个变量 - 您不需要键和值 ...为此 - 您可以直接使用answer- 15 是存储在foget_this_value -
@yodish 和
forget_this_value(在 Patrick Artner 的回答中)传统上在 python 中发送到_,例如,您已经在lambda函数中看到了
标签: python dictionary python-2.x