python - 从整数列表中,获取最接近且小于给定值的数字

标签 python list

我正在编写一个代码,其中我必须从列表中选择一个整数,该整数不仅最接近给定值,而且同时小于给定值。我如何编辑代码以满足这两个条件?

我尝试使用我在该网站上找到的内置 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/

相关文章:

ruby-on-rails - 在列表中查找 Rails_Admin

python - 在 Python 中使用 nltk 出现非 ASCII 字符错误

python - 将 DataFrame 的列绘制为针对相同 y 列的散点图

c - malloc 有时起作用,有时不起作用(通用链表)

Python按元素乘以列表列表

java - 尝试使用 ArrayList 创建矩阵?

python - 如何传递 argparse 参数以充当 kwargs?

python - 在Python中将多个图形绘制到一张图像上

python - 在 lambda 中使用 print

string - 从 List<String> 转换为 List<Character> Java