prüfen ob Zahlenmenge teil einer anderen Zahlenmenge ist

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
pyhibi
User
Beiträge: 2
Registriert: Mittwoch 31. August 2016, 13:14

Hallo,

ich bin noch neu in python.
Wie kann ich denn effizeient prüfen, ob eine Zahlenreihe vom Typ integer teil einen anderen Zahlenreihe vom Typ Integer ist.
Die Zahlenreihen bestehen immer aus zusammenhängende Zahlen z.b.: [5;8] oder [1;10] und haben auch eine bestimmte Maximallänge.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@pyhibi: Du prüfst ob die größte bzw. kleinste Zahl Deiner einen Zahlenreihe größer oder kleiner als die größte oder kleinste Zahl der anderen Zahlenreihe ist.
pyhibi
User
Beiträge: 2
Registriert: Mittwoch 31. August 2016, 13:14

Danke für deine Antwort, meine Frage war eigentlich ob es da schon was fertigen in python gibt um das zu prüfen.
trublu
User
Beiträge: 18
Registriert: Montag 20. Juni 2016, 20:05

Generell auf subset prüfen gibt es natürlich schon. Das dürfte wohl nur ein deutlicher Mehraufwand sein weil die Information zusammenhängend nicht benutzt wird.

Code: Alles auswählen

>>> x = [1,2,3,4,5]
>>> y = [4,5]
>>> set(y) < set(x)
True
BlackJack

@trublu: Das wäre ja nicht effizient. Der simple Weg ist der von Sirius beschriebene. Wobei man die Werte ja auch nicht wirklich als Listen mit den ganzen Werten zwischen Anfang und Ende speichern würde, wenn man dafür keinen sehr guten Grund hat. Die Werte ausser Anfang und Ende enthalten letztendlich ja keine Information.
trublu
User
Beiträge: 18
Registriert: Montag 20. Juni 2016, 20:05

@BlackJack: Das ist richtig. Deswegen habe ich da ja auch selbst nochmal darauf hingewiesen. Trotzdem wollte ich nur zeigen das es generell möglich ist. Je nach Anwendungsfall ist Effizienz auch nicht immer ein relevantes Kriterium. Wenn man also zu faul ist sich für die 2 if eine eigene Funktion zu schreiben kann man das so durchaus machen, man nimmt nur in Kauf das es, wie bereits im erstem Beitrag erwähnt, ein deutlicher Mehraufwand ist.
Antworten