python:数组指定范围内的最小值

问题描述 投票:0回答:4

说我有一个数组a = [-1.2、1、0.5、4、5、3]

有没有一种方法可以找到a = 0.2到b = 2之间的最小元素

在此特定示例中,答案将为0.5。

我想在python中执行此计算。 。

python arrays max min
4个回答
0
投票

您可以使用filter(predicate, list)filter(predicate, list)消除界外值,然后在其余元素上使用generator expression

min(iterable)

0
投票
min(iterable)

0
投票

如果可以使用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)

0
投票
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

我严格考虑了两个给定值,如果要同时包含两个,请使用> =<=。希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.