python - 列表中的第一个数字变量不大于

标签 python python-3.x list

有没有一种不涉及一堆 if 语句的快速方法来获取列表中我的变量不大于的第一个元素?例如,如果

x = 50
compare = [1, 4, 9, 16, 25, 36, 49, 64, 81]

我希望它返回 64。我的列表也将按升序编写,因此不需要比较列表中的每个元素。

最佳答案

有一种不涉及任何 for 循环的简短方法:

>>> x = 50
>>> compare = [1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> next(item for item in compare if item >=x)
64

这会创建一个 iterator >= x 的值,然后选择第一个。

关于python - 列表中的第一个数字变量不大于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59548497/

相关文章:

Python 列表理解返回错误标签

python - 在Python中选择满足特定条件的行之间的行

python - 使用python和mock模拟ReviewBoard第三方库

Python BeautifulSoup 获取图像、文本和 URL

python-3.x - Pygame - 使用转义字符或换行符对文本进行 blitting

r - 均衡列表中所有列表的长度?

python - "' NoneType ' object is not iterable"追加列表时出错

java - 是否有制作人类可读代码的基本标准和实践?

python - 根据某些条件过滤数据

python - 为什么 python 按位运算符不能处理 bin() 返回的内容