Forum: PC-Programmierung mehrere statements in python


von A. Help (Gast)


Lesenswert?

Ich habe in python einen Haufen Werte, die ich mit einem vergleichen 
möchte.

Bevor ich jetzt alles unübersichtlich mache, gibt es eine Möglichkeit 
das hier etwas einfacher zu lösen?


if a or b or c or d < 100:

oder muss ich hier zwingend das hier machen:

if a < 100 or b < 100 or < 100 c or d < 100:


Danke

von Michael S. (tu-student)


Lesenswert?

Falls du die Werte in einem array hast, könntest du sie elegant mittels 
numpy vergleichen:

import numpy as np;

data = np.array([1,2,3])
my_bool_array = data < 2
all_smaller = np.all(my_bool_array)
at_least_one_smaller = np.any(my_bool_array)

von Lukas K. (carrotindustries)


Lesenswert?

A. Help schrieb:
> Bevor ich jetzt alles unübersichtlich mache, gibt es eine Möglichkeit
> das hier etwas einfacher zu lösen?

mit nem map:
1
any(map(lambda z: z<100, (a,b,c,d)))

mit ner generator comprehension:
1
any((x<100 for x in (a,b,c,d)))

von Bastler (Gast)


Lesenswert?

if min(a,b,c,d)<100:
    #code

if filter(lambda z: z<100, (a,b,c,d)):
    #code

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.