gpt4 book ai didi

python - 在列表中查找小于或等于键的值

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

给定一个排序数组,我想得到等于或小于传递的键的最小元素

我已经尝试找到每个元素之间的间隙并返回间隙最小的那个,但这并没有给出预期的结果,因为它返回的值也大于传递的值

sorted_li= [25,22,15,14,12,6,4]
def find_nearest_small_value(key,sorted_li):
gap_current, gap_global, value = 0, key, sorted_li[0]
for i in sorted_li:
gap_current = abs(i-key)
if gap_global>=gap_current:
gap_global=gap_current
value=i
return value

例如,上面 key=19 的代码将返回 22,因为 gap 在那里是 3,尽管它应该返回 15,因为它小于 19,以免 gap

任何帮助将不胜感激谢谢:)

最佳答案

这将适用于已排序和未排序的输入序列:

def find_nearest_small_value(key, sorted_li):
return max(i for i in sorted_li if i <= key)

它非常易于阅读并且是一个简单的解决方案

关于python - 在列表中查找小于或等于键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58127102/

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