Ich muss eine Liste "A" von 100.000 Elementen durchlaufen. Aber ich muss einige von ihnen überspringen, insbesondere möchte ich die Elemente überspringen, die in eine andere Liste "B" geschrieben werden. Was ist der beste Weg, dies zu tun?Python: Wie durchläuft man eine Liste mit Ausnahme einiger Zahlen, die zu einer anderen Liste gehören?
-2
A
Antwort
2
Sie einen Filter verwenden:
a = [0, 1, 2, 3, 4]
b = [1, 2]
list(filter(lambda el: el not in b, a))
# [0, 3, 4]
Wenn Sie auf die Elemente iterieren müssen, fallen die list
den Filter Einwickeln:
for el in filter(lambda el: el not in b, a):
do_something()
Alternativ kann das gleiche mit einer Liste erreicht werden Verständnis, das im Wesentlichen das gleiche semantisch ist:
[el for el in a if el not in b]
# [0, 3, 4]
K Beachten Sie, dass Sie in beiden Versionen eine lineare Suche nach den Elementen von b durchführen. Wenn diese Liste ziemlich lang ist, kann dies sehr langsam werden. Eine effizientere Methode (wie in den Kommentaren vorgeschlagen) wäre, b statt einer Liste eine Menge zu machen. Dies erfordert nur, dass die Elemente von b hashable sind.
bset = set(b)
[el for el in a if el not in bset]
# [0, 3, 4]
Verwandte Themen
- 1. Generieren einer Zufallszahl im Bereich mit Ausnahme einiger Zahlen
- 2. Eine Liste zu einer anderen Liste hinzufügen?
- 3. Python: Filter Liste der Liste mit einer anderen Liste
- 4. Wie füllt man eine Liste, die in einer anderen Liste in Python läuft?
- 5. Python: Wie konvertiert man eine Liste von Zahlen in einer geschachtelten Liste?
- 6. Wie erstellt man eine Liste aus einer anderen Liste mit bestimmten Kriterien in Python?
- 7. Vergleichen einer Liste mit einer anderen Val-Liste Python 3
- 8. Wie man eine Liste von Zahlen aus Zeichenfolgen in einer Liste von Listen in Python machen
- 9. aus einer anderen Liste in Python eine vollständige Liste löschen
- 10. Wie man eine lange Liste von Zahlen in Python macht
- 11. eine json Liste in einer anderen Liste in Python
- 12. Rebinning eine Liste von Zahlen in Python
- 13. Normalisieren einer Liste von Zahlen in Python
- 14. Wie entfernen Sie eine Liste aus einer anderen Liste?
- 15. Gerade Zahlen eine Liste?
- 16. Python: durch eine Liste iterieren
- 17. Python: Varianz einer Liste der definierten Zahlen
- 18. Wie mutiert man eine Liste mit einer Funktion in Python?
- 19. Wie teile ich die Mitglieder einer Liste durch die entsprechenden Mitglieder einer anderen Liste in Python?
- 20. führende Nullen zu einer Liste von Zahlen in Python hinzufügen
- 21. Python Join eine Liste von ganzen Zahlen
- 22. wie man eine Liste in Python klein
- 23. Wie eine Liste zeigen, die in relationalen Daten gehören
- 24. Liste - Atome zählen, die zu ihrem vorherigen Ausdruck gehören
- 25. Reichliche Zahlen Liste in Python
- 26. eine Liste mit den Indizes einer anderen Liste Füllung
- 27. eine Liste mit Listen in einer anderen Liste in Prolog
- 28. , wie man eine Liste in Python
- 29. Python: Kopieren einer Liste in einer Liste
- 30. Wie erstellt Haskell eine neue Liste aus einer anderen Liste?
Machen Sie einen Satz von 'B', und prüfen Sie, ob jedes Element' in B' ist. – khelwood
Haben Sie einen Code geschrieben? – elena
'B = Satz (B); only_in_A = [x für x in A wenn x nicht in B] '... oder wenn mehrere wiederholte Werte in' A' egal sind, dann wandle 'A' in' set' um. – blacksite