我有以下范围,我想选择0
的壁橱数量。在下面的数组中,-4
将是壁橱编号和正确答案。提前感谢
num_array = [-37,-24,-18,-10,-4,5,12,18,26]
让我们执行min
并通过key
传递选择
min(num_array, key=lambda x:abs(x-0))
-4
使用-1.进行检查
num_array = [-37,-24,-18,-10,-4,5,12,18,26,-1]
min(num_array, key=lambda x:abs(x-0))
-1
跟踪最小的正和最大的负数。如果列表中没有0
,则从上述两个数字中选择最接近的一个。
import sys
a = [-37,-24,-18,-10,-4,5,12,18,26]
maxn = sys.maxsize
minn = -sys.maxsize - 1
f = 0
for i in range(len(a)):
if a[i] == 0:
ans = 0
f = 1
break
elif a[i] > 0 and a[i] < maxn :
maxn = a[i]
elif a[i] < 0 and a[i] > minn :
minn = a[i]
else:
None
if f == 0:
if abs(maxn) < abs(minn):
ans = maxn
else:
ans = minn
print(ans)