我正在编写一个代码,其中我必须从列表中选择一个整数,该整数不仅最接近给定值,而且同时小于给定值。我如何编辑代码以满足这两个条件?
我尝试使用我在该网站上找到的内置 min() 函数。它给出了最接近给定值的整数,无论该整数大于还是小于给定值。
def price(my_list,real_price):
closest_number=min(my_list, key=lambda x:abs(x-real_price))
return closest_number
my_list=[101,90,70]
real_price=100
closest_number=price(my_list,real_price)
print(closest_number)
对于上面的代码,我希望输出为 90,但我得到 101
最佳答案
您应该获取小于real_price
的数字的max
,而不是min
:
def price(my_list,real_price):
return max(price for price in my_list if price <= real_price)
通过此更改,您的代码将输出:90
关于python - 从整数列表中,获取最接近且小于给定值的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428065/