Hallo leute,
ich bräuchte mal wieder eure Hilfe, und zwar hab ich eine Liste von Punkten z.b. [2, 6 , 17, 34] und muss testen ob diese Elemente der Liste ALLE in einer anderen Liste vorhanden sind.
Zuerst hab ich da als schnelle Lösung an "liste-a in liste-b" gedacht aber der sucht ja dann bei der liste-b ob sie das Element liste-a enthält...
Gibt es da keine "schnelle" Lösung, oder geht das nur über schleifen?
greetz draufunddran
komplette liste in liste vorhanden?
Hi,
bei Mengen (sets) gibt es die Methode set.issubset. Vielleicht hilft dir das ja weiter, wen du nicht auf Listen als Datenstruktur angewiesen bist...
bei Mengen (sets) gibt es die Methode set.issubset. Vielleicht hilft dir das ja weiter, wen du nicht auf Listen als Datenstruktur angewiesen bist...
Genau sagen kann man nie etwas ohne es gemessen zu haben. Von meinen Erfahrungen her ist das Codeschnipsel von BlackJack allerdings effektiver als jede andere handgebastelte Lösung. Von welchen Datenmengen reden wir denn hier?.robert hat geschrieben:@Blackjack: Ich frage mich gerade, ob das Umwandeln in sets performancemäßig eine Rolle spielt. Kannst du da was zu sagen?
@.robert: Beide Listen werden einmal durchlaufen um die `set()`\s zu erstellen und dann wird das erste `set()` noch einmal durchlaufen um die Elemente zu prüfen. Was am effizientesten ist, dürfte von konkreten Daten abhängen. Wieviele Elemente jeweils in den Listen enthalten sind zum Beispiel. Man muss auch in Betracht ziehen, dass `set()`\s in CPython in C implementiert sind, also schneller sein können als eine theoretisch effizientere Variante die man in Python selbst schreibt.
Wie immer: Solange die Algorithmen sich nicht deutlich in der O-Notation unterscheiden, sollte man besser messen wo die Flaschenhälse sind, bevor man auf gut Glück irgendwo Zeit in "Optimierungen" steckt.
Wie immer: Solange die Algorithmen sich nicht deutlich in der O-Notation unterscheiden, sollte man besser messen wo die Flaschenhälse sind, bevor man auf gut Glück irgendwo Zeit in "Optimierungen" steckt.
- draufunddran
- User
- Beiträge: 34
- Registriert: Freitag 26. Juni 2009, 13:43
Vielen Vielen Dank.... hat geholfen.
Zur größe kann ich nur sagen:
liste-a hat ein größe von 4 bis 8 Elementen und liste-b hat ca. 1Mio. Elemente...
Zur größe kann ich nur sagen:
liste-a hat ein größe von 4 bis 8 Elementen und liste-b hat ca. 1Mio. Elemente...