Summe der Quadrate in einer Liste in einer Zeile?

8

Um zu zeigen, dass ich etwas getan habe. Dies ist mein Code Summe in drei Zeilen.

%Vor%

Ich bin neugierig, kann ich das in nur einer Zeile machen?

    
AlexWei 12.11.2014, 18:44
quelle

4 Antworten

7

Was ist mit:

%Vor%

Wir verwenden auch reduce :

%Vor%

Wir können das erste Element nehmen, sein Quadrat erhalten und es dann zum Kopf der Liste hinzufügen, damit wir sicherstellen können, dass es quadriert ist. Dann verwenden wir weiter reduzieren. Es ist nicht die ganze Arbeit wert, da wir bessere Alternativen haben.

%Vor%

Nur aus Neugierde habe ich versucht, die drei Lösungen zu vergleichen, um die Quadrate von 10000 numbers, die von range generiert wurden, zu addieren und die Ausführungszeit jeder Operation zu berechnen.

%Vor%

Ausgabe:

Die Verwendung von list comprehension ist schneller

%Vor%     
user4179775 12.11.2014, 18:46
quelle
15

Ja, das kannst du. Hier wird die Funktion sum verwendet:

%Vor%     
Hackaholic 12.11.2014 18:46
quelle
4

Für eine größere Liste und wenn Leistung wichtig ist, sollten Sie numpy verwenden:

%Vor%     
espang 12.11.2014 18:59
quelle
0

Sie könnten eine Funktion definieren und Listenverständnis verwenden

%Vor%     
MattP 20.02.2017 10:20
quelle

Tags und Links