说我有一个数组a = [-1.2、1、0.5、4、5、3]
有没有一种方法可以找到a = 0.2到b = 2之间的最小元素
在此特定示例中,答案将为0.5。
我想在python中执行此计算。 。
您可以使用filter(predicate, list)
或filter(predicate, list)
消除界外值,然后在其余元素上使用generator expression:
min(iterable)
min(iterable)
如果可以使用numpy:
a = [-1.2, 1, 0.5, 4, 5, 3]
assert 0.5 == min(filter(lambda x: 0.2 <= x <= 2, a))
# or
assert 0.5 == min(x for x in a if 0.2 <= x <= 2)
a = [-1.2, 1, 0.5, 4, 5, 3]
Min = 0.2
Max = 2
a.extend([Min, Max])
a = sorted(a)
print(min(a[a.index(Min)+1:a.index(Max)]))
# 0.5
我严格考虑了两个给定值,如果要同时包含两个,请使用> =和<=。希望这会有所帮助