gpt4 book ai didi

python - 查找与列表中给定数字最接近的数字 ~ Python

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:48 27 4
gpt4 key购买 nike

与列表中给定的数字相比,您如何找到最接近的数字?

这是我目前尝试过的,但是一直没有成功:

setted_list = [2, 9, 6, 20, 15]
value_chosen = 17

while True:
final_value = setted_list[0]
if setted_list[1] - value_chosen < setted_list[0] - value_chosen:
final_value = setted_list[1]
if setted_list[2] - value_chosen < setted_list[1] - value_chosen:
final_value = setted_list[2]
if setted_list[3] - value_chosen < setted_list[2] - value_chosen:
final_value = setted_list[3]
if setted_list[4] - value_chosen < setted_list[3] - value_chosen:
final_value = setted_list[4]
print(final_value)

我的输出始终是 setted_list[2] 中的值。我的算法哪里出错了?

最佳答案

这是一个漂亮、干净、简单的单行代码:看看这个,你会希望学到一些新东西😊(@OP)

print min(setted_list,
key = lambda x: abs(x-value_chosen))

此处的 min() 确实setted_list 返回最小值。 什么是最小值 问题转到 key= 参数。 lambda 函数创建 list() setted_listvalue_chosen 中每个元素之间的差异。 最小值不是min()的返回值,而是使用最小值的索引返回setted_list中对应的元素。

关于python - 查找与列表中给定数字最接近的数字 ~ Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45336645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com