Seite 1 von 1
Bereiche vergleichen
Verfasst: Montag 14. Juli 2008, 10:29
von ete
Hallo!
Gibt es eine Funktion um Bereiche zu vergleichen?
a = range(0, 10)
b = range(5, 15)
Ich möchte wissen ob eine der Zahlen vom Bereich a auch in Bereich b vorhanden ist. Über set bzw. s.issubset(t) muss ja der ganze Bereich übereinstimmen, mich interessiert aber ob mindestens eine Zahl die gleiche ist.
Liebe Grüsse
Stefanie
Re: Bereiche vergleichen
Verfasst: Montag 14. Juli 2008, 10:34
von audax
Verfasst: Montag 14. Juli 2008, 10:36
von mitsuhiko
Verfasst: Montag 14. Juli 2008, 10:36
von Zap
Ab 2.5 gibts die any() Funktion die da helfen könnte.
Code: Alles auswählen
In [18]: a = range(0, 10)
In [19]: b = range(5, 15)
In [20]: any([e in a for e in b])
Out[20]: True
Edit: Man darf beim antworten nicht mal nen Schluck Kaffee trinken, dann ist man schon zu spät

Verfasst: Montag 14. Juli 2008, 10:39
von mitsuhiko
Zap hat geschrieben:Ab 2.5 gibts die any() Funktion die da helfen könnte.
Die man aber bitte mit eine Generator Expression und nicht einer list Comprehension füttert.
Verfasst: Montag 14. Juli 2008, 10:56
von Zap
Stimmt! Ist mir auch aufgefallen als ich audax's Vorschlag gesehen habe.

Verfasst: Montag 14. Juli 2008, 10:57
von ete
Vielen Dank, any() kannte ich noch nicht

Verfasst: Montag 14. Juli 2008, 14:54
von BlackJack
Und aus `a` sollte man vorher noch ein `set()` machen, damit das ``e in a`` keine lineare Operation wird. Und ich hoffe es geht um Listen mit Lücken drin und nicht wirklich um welche mit direkt aufeinander folgenden Zahlen wie sie von `range()` erzeugt werden.