Ich habe eine Liste von Zeichenfolgen. Ich möchte eine neue Liste erhalten, die Elemente ausschließt, die mit "#" beginnen, während die Reihenfolge beibehalten wird. Was ist der pythischste Weg dazu? (vorzugsweise keine Schleife verwenden?)Welcher Python ist am besten, um Elemente einer Liste auszuschließen, die mit einem bestimmten Zeichen beginnen?
Antwort
[x for x in my_list if not x.startswith('#')]
Das ist die pythischste Art, es zu tun. Jede Möglichkeit, dies zu tun, wird am Ende eine Schleife in Python oder C verwenden.
Keine Schleife verwenden? Es gibt filter
builtin:
filter(lambda s: not s.startswith('#'), somestrings)
Beachten Sie, dass in Python 3 kehrt iterable, nicht eine Liste, und so können Sie es mit list()
wickeln müssen.
Welches ist mehr Python? mit einer Schleife oder Filter? – theRealWorld
@MoZo-Listen-Comprehensions werden gegenüber 'Filter',' Map' usw. bevorzugt, wenn sie mit einem 'Lambda' gepaart sind. 'filter' könnte besser sein, wenn Sie etwas wie' filter (str.isalpha, somestrings) 'haben. Dies ist auch langsamer als eine Liste comp. – jamylak
@MoZo Ich sehe hier keinen großen Unterschied. In diesem einfachen Fall würde ich mit einer Schleife gehen. Aber wenn die Prädikatfunktion kompliziert ist, ist es nur "Filter". – hamstergene
- 1. Regex Worte zu finden, die mit einem bestimmten Zeichen beginnen
- 2. Elemente extrahieren, die mit einem bestimmten Muster beginnen in R
- 3. Welcher Verschlüsselungsalgorithmus ist für kleine Strings am besten geeignet?
- 4. HTML5-Datenbank-Site für Android, welcher Weg ist am besten?
- 5. Welcher ist am besten, um die Entfernung zwischen zwei Punkten zu berechnen?
- 6. Erhalte eine Liste von Namen, die mit bestimmten Buchstaben beginnen
- 7. Mit ListIterator am Ende einer Liste zu verketten beginnen
- 8. welcher Editor ist am besten für Android-Entwickler?
- 9. Wie gehen Sie am besten mit Tests mit Daten um?
- 10. Wie kann man am besten erkennen, dass keine Zeichen auf einer bestimmten Seite erscheinen? (In Word.)
- 11. Wie man Klassen auswählt, die mit einer bestimmten Zeichenkette beginnen
- 12. Wie kann man in einer Wörterbücherliste am besten nach einem Python-Wörterbuch suchen?
- 13. Entfernen von Elementen aus einer Liste mit bestimmten Zeichen
- 14. Warum beginnen Bootstrap-Funktionen mit einem + -Zeichen?
- 15. Welcher Algorithmus würde paßt am besten ein Wort-Suchspiel wie „Boggle“ mit Python zu lösen
- 16. Welcher Screenreader wäre am besten, um die Barrierefreiheit der Site zu testen und zu konfigurieren?
- 17. Zeilen zählen, die mit einem bestimmten Wort beginnen
- 18. Die Summe einer bestimmten Eigenschaft aller Elemente in einer Liste
- 19. Welcher SchemaTyp in Mongoose eignet sich am besten für Timestamp?
- 20. Wie schneidet man() alle Elemente in einer Liste <String> am besten ab?
- 21. Zeige Emacs Tastaturbelegungen, die mit einem bestimmten Schlüssel beginnen
- 22. C#: Welcher Haken eignet sich am besten, um globale Tastenkombinationen mit mehreren Tasten zu überwachen?
- 23. Druckleitung, die mit einem bestimmten Zeichen endet
- 24. Codeigniter Optimierung/am besten Ort, um Modelle zu laden ist?
- 25. Wie bekomme ich eine Liste von Befehlen, die mit einem bestimmten Schlüssel (Combo) in Emacs beginnen?
- 26. Wie liest man jede Zeile von einem bestimmten Zeichen zu einem bestimmten Zeichen in Python?
- 27. Wählen Sie eine Datei mit einer bestimmten Zeichenkette beginnen
- 28. Löschen von Dateien, die mit einem Namen beginnen Python
- 29. Entfernen Sie bestimmte Zeichen am Ende einer Zeichenfolge (HTML-Elemente)
- 30. Holen Sie alle Teilstrings, die mit einer bestimmten Zeichenfolge beginnen
Klingt wie Sie Kommentare aus einer Datei ausschließen möchten. Die Antwort lautet in diesem Fall: "Lies sie nicht erst ein". –