【问题标题】:returning a tuple from a dictionary, I need the key but am getting the value instead从字典中返回一个元组,我需要密钥,但我正在获取值
【发布时间】: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


【解决方案1】:

解压“答案”:

键、值 = 答案

或使用

Key = 答案[0]

价值 = 答案{ 1 ]

【讨论】:

    猜你喜欢
    • 2014-01-01
    • 2020-11-20
    • 1970-01-01
    • 2021-01-08
    • 2022-01-15
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2021-04-19
    相关资源
    最近更新 更多