Thanks all !

> Question: what if two values are equidistant?

>>> def closest(foo,v):
...     intermed = [(abs(v), v) for v in foo]
...     intermed.sort()
...     return [x[1] for x in intermed if x[0] == intermed[0][0]]
...
>>> print closest([-20,-10,10,15],0)
[-10, 10]

Works fine !

(now with sorted ... ?)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to