python - 元组对的Python列表:根据最近的第二个元素提取第一个元素
问题描述
真的是初学者:
我有一个列表:((0.1, 5.4), (0.2, 5.6), (0.3, 6.0)) 等... 用户输入:5.7
我想提取最近的“第一个元素”,在这种情况下它应该是 0.2。
我该怎么办?
编辑:我猜这被称为包含对的元组。
解决方案
min函数接收一个 key 参数,该参数可用作搜索最小值的键:
value = 5.7
result = min(((0.1, 5.4), (0.2, 5.6), (0.3, 6.0)), key=lambda x: abs(value - x[1]))
print(result[0])
输出
0.2
推荐阅读
- sql - 使用预先聚合的值加入两个表,既不会导致分组错误,也不会导致聚合错误
- entity-framework - Entity Framework 6.4.4 (.NET 4.7.2) - 没有命名的连接字符串
- python - 每次我触摸键盘时 FileSysteEventHandler 和 Observer 都会停止
- algorithm - 查找 DFA 的所有匹配项
- instagram-graph-api - 可以获得所提及评论所有者的用户名吗?
- python - Python Scraping Error - 您可能将元素列表视为单个元素。当您打算调用 find() 时,您是否调用了 find_all()?
- airflow - Sentry 未从 Airflow 记录事件
- javascript - 组件索引不包含默认导出
- regex - 为什么我收到此错误 \1 未在带有 SED 的 RE 中定义?
- javascript - AddEventListener 事件仅触发一次