有没有一种不涉及一堆 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/