Zum Beispiel Summe der timedelta
Liste zu berechnen, müssen wir weiter unten schreiben:Warum benötigt `sum`` start` Parameter?
sum(l, timedelta())
(l Liste der Instanzen von timedelta
)
Aber wir können ohne die start
Variable berechnen, dass, wie
l[0] + l[1] + l[2] + ...
Warum die eingebaute sum
Funktion braucht start
Wert?
EDIT
Wenn die sum
Funktion definiert wie
def sum2(l):
return l[0] + (sum2(l[1:]) if len(l) > 2 else l[1])
und bekam sum2([[1, 2], [2, 4], [3, 5]]) -> [1, 2, 2, 4, 3, 5]
Arbeit gut ohne Startwert.
Ich verstehe nicht, warum Summe nicht so funktioniert.
Es wird kein Startwert benötigt. Was hat dich dazu gebracht zu denken? –
'Summe ([1,1,1]) = 3 '. 'sum ([], 10) = 10'. –
@ Ev.Kounis Sie müssen einen Startwert angeben, wenn Ihr iterierbares Element andere Elemente als Zahlen enthält, der Standardstartwert ist "0". –