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
Bereiche vergleichen
http://www.snowflake-sl.info/index.html
Code: Alles auswählen
any(x in b for x in a)
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Code: Alles auswählen
>>> set("abc") & set("cg")
set(['c'])
TUFKAB – the user formerly known as blackbird
Ab 2.5 gibts die any() Funktion die da helfen könnte.
Edit: Man darf beim antworten nicht mal nen Schluck Kaffee trinken, dann ist man schon zu spät
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
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Die man aber bitte mit eine Generator Expression und nicht einer list Comprehension füttert.Zap hat geschrieben:Ab 2.5 gibts die any() Funktion die da helfen könnte.
TUFKAB – the user formerly known as blackbird
Vielen Dank, any() kannte ich noch nicht
http://www.snowflake-sl.info/index.html
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.