Disons que j'ai un tableau a = [-1,2, 1, 0,5, 4, 5, 3]

Existe-t-il un moyen de trouver un élément min qui se situe entre a = 0,2 et b = 2

Dans cet exemple particulier, la réponse sera 0,5.

Je souhaite effectuer ce calcul en python. .

0
user1612986 2 juin 2020 à 00:43

2 réponses

Meilleure réponse

Vous pouvez utiliser filter(predicate, list) ou un expression du générateur pour éliminer les valeurs hors limites, puis utilisez min(iterable) sur les éléments restants:

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
das-g 1 juin 2020 à 22:05

Si vous pouvez utiliser numpy:

a = np.array([-1.2, 1, 0.5, 4, 5, 3])
min(a[(a<2) & (a > 0.2)])
0
Osman Mamun 1 juin 2020 à 22:20