例如:
a=[-5,-3,-1,1,3,5]
我想找到一个负数和一个正数最小值。
示例:否定
print(min(a)) = -5
积极的
print(min(a)) = 1
例如:
a=[-5,-3,-1,1,3,5]
我想找到一个负数和一个正数最小值。
示例:否定
print(min(a)) = -5
积极的
print(min(a)) = 1
为了获得最小负数:
min(a)
为了获得最小的积极性:
min(filter(lambda x:x>0,a))
>>> a = [-5,-3,-1,1,3,5]
>>> min(el for el in a if el < 0)
-5
>>> min(el for el in a if el > 0)
1
a
如果不包含任何负值或任何正值,则可能需要特殊处理。
x = [-5,-3,-1,1,3,5]
# First min is actual min, second is based on absolute
sort = lambda x: [min(x),min([abs(i) for i in x] )]
print(sort(x))
[-5, 1]
[Program finished]
使用 functools.reduce
>>> from functools import reduce
>>> a = [-5,-3,-1,2,3,5]
>>> reduce(lambda x,y: x if 0 <= x <=y else y if y>=0 else 0, a)
2
>>> min(a)
-5
>>>
注意:如果列表中没有数字 >= 0,这将返回 0。