5

例えば:

a=[-5,-3,-1,1,3,5]

負の最小値と正の最小値を見つけたい。

例: ネガティブ

print(min(a)) = -5 

ポジティブ

print(min(a)) = 1
4

4 に答える 4

10

負の最小値を取得するには:

min(a)

正の最小値を取得するには:

min(filter(lambda x:x>0,a))

于 2013-03-12T16:52:07.197 に答える
8
>>> 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に負の値も正の値も含まれていない場合は、特別な処理が必要になる場合があります。

于 2013-03-12T16:24:07.490 に答える
-1

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 を返します。

于 2013-03-12T16:49:19.247 に答える