fre*_*rik -2 python python-2.6
我应该怎么写这个find_nearest_lower函数?
>>> values = [10.1, 10.11, 10.20]
>>> my_value = 10.12
>>> nearest_lower = find_nearest_lower(values, my_value)
>>> nearest_lower
10.11
Run Code Online (Sandbox Code Playgroud)
这需要在Python 2.6中工作而无需访问numpy.
>>> def find_nearest_lower(seq, x):
... return max(item for item in seq if item < x)
...
>>> values = [10.1, 10.11, 10.20]
>>> my_value = 10.12
>>> nearest_lower = find_nearest_lower(values, my_value)
>>> nearest_lower
10.11
Run Code Online (Sandbox Code Playgroud)
如果没有任何seq小于的值,则此方法将引发异常x.如果这是不合需要的行为,您可以返回一个sentinel值,例如None:
def find_nearest_lower(seq, x):
candidates = [item for item in seq if item < x]
if not candidates: return None
return max(candidates)
Run Code Online (Sandbox Code Playgroud)
要么
def find_nearest_lower(seq, x):
try:
return max(item for item in seq if item < x)
except ValueError:
return None
Run Code Online (Sandbox Code Playgroud)
......如果你更像是一个"请求宽恕"的人而不是"在你跳跃之前"的人.
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |