Zwei Aufgaben im Verständnis der einzelnen Python-Listen

7

Zum Beispiel:

%Vor%

Wäre es effizienter, die Listenkomprehensionen zu einem (wenn möglich) zu kombinieren, wenn die Größe von a groß ist? Wenn ja, wie machst du das?

Etwas wie

%Vor%

was nicht funktioniert. Wenn das Listenverständnis nicht recheneffizienter ist als die Verwendung einer normalen for-Schleife, lassen Sie es mich auch wissen. Danke.

    
user1473483 21.06.2012, 22:42
quelle

2 Antworten

9

Wenn Sie Zweifel an der Effizienz haben, benutzen Sie das timeit Modul, es ist immer einfach zu benutzen:

%Vor%

Die Ergebnisse scheinen konsistent zu sein, indem sie auf die erste Option als schnellste zeigen.

%Vor%     
Trufa 21.06.2012, 23:18
quelle
12

Sie möchten dazu die zip() builtin mit dem Stern-Operator verwenden. zip() wendet sich normalerweise an Listen in eine Liste von Paaren, wenn es so verwendet wird, entzippt es - nimmt eine Liste von Paaren und teilt sich in zwei Listen auf.

%Vor%

Beachten Sie, dass ich mir nicht sicher bin, ob dies in irgendeiner Weise effizienter ist.

    
Gareth Latty 21.06.2012 22:43
quelle

Tags und Links