Was ist der Vorteil einer Liste Verständnis über eine for-Schleife?
Was ist der Vorteil der Verwendung einer list comprehension über eine for
- Schleife in Python?
Ist es vor allem, um es menschlich lesbar, oder gibt es andere Gründe, um eine Liste Verständnis, statt eine Schleife?
- Ich denke, Sie sind schneller als for-Schleifen in den meisten (wenn nicht allen) Fällen. Das ist, abgesehen von der Schönheit von Ihnen 🙂
- Vorteil gegenüber was?
- "Wir erwarten Antworten, die unterstützt werden von Fakten, Referenzen oder spezifisches know-how, aber diese Frage wird wahrscheinlich werben Debatte, Argumente, polling, oder erweiterte Diskussion." Scheint, dass diese Frage unterstützt werden kann, mit "bestimmten Tatsachen [und] spezifische know-how". Markieren Sie geschlossen werden, ist BS, IMO.
- Am zweiten Gedanken, ist das nicht ein "nicht konstruktiv" - Frage hat sich übrigens nicht gebeten worden, in dieser form vorher (im Vergleich zu dieser), voting für die Wiedereröffnung.
- Es ist also im Grunde nach unten, um die Semantik? Sachen wie diese wirklich frustriert mich SO: es ist klar (für mich zumindest), dass die Frage auch gestellt, Weg. Vielleicht ist David und ich sind gleichermaßen unfähig im Lesen von den Regeln, aber ich irgendwie bezweifle...
- Es kann eine endlose Reihe von Vorteilen, denn die Vorteile liegen im Auge des Betrachters.
- Dass die andere Frage ist viel besser eingeschränkt. Wir Bearbeiten diese Frage zu Fragen, ob comps-Liste haben einige andere Vorteil gegenüber einem
for
Schleife anderes als die Lesbarkeit, zum Beispiel. Das wäre viel mehr eingeschränkten Spielraum. - du bist also schließen sich die Frage, denn es gibt nicht eine einzige richtige Antwort? Sieht aus wie es ein wenig Arbeit zu tun, um die Stelle, dann...
- Wenn Sie möchten, um zu besprechen, was macht eine Frage, die konstruktiv ist oder nicht, können Sie dies auf Meta-Stack Overflow. Aber ja, wir haben einige Arbeit zu tun, um die Website. Pitch in!
InformationsquelleAutor David | 2013-05-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Liste Verstehens sind kompakter und schneller als eine explizite
for
Schleife bauen Sie eine Liste:Dies ist, weil die Berufung
.append()
auf einelist
bewirkt, dass die Liste-Objekt, um zu wachsen (in Blöcken), um Platz zu schaffen für neue Elemente einzeln, während die list-comprehension sammelt alle Elemente, die zuerst vor dem erstellen derlist
passen sich die Elemente in einem Rutsch:Jedoch, dies bedeutet nicht, Sie sollten beginnen mit Liste Verstehens für alles! Eine list comprehension wird noch erstellen Sie eine Liste Objekt; wenn Sie eine Liste Verständnis, nur weil es Ihnen gibt eine eine-Zeile-Schleife, denken Sie wieder. Sie werden wahrscheinlich verschwenden Zyklen Gebäude eine Liste-Objekt, das Sie dann wieder ablegen. Halte dich einfach an eine normale
for
Schleife in diesem Fall.