-1
例えば、timedelta
リストの合計を計算するために、我々は以下の記述する必要があります。`sum`に` start`パラメータが必要なのはなぜですか?
sum(l, timedelta())
(lはtimedelta
のインスタンスのリストです)
しかし、我々は
のように、start
変数せずにこれを計算することができます
組み込みの理由sum
機能にはstart
の値が必要ですか?
EDIT
sum
機能が
def sum2(l):
return l[0] + (sum2(l[1:]) if len(l) > 2 else l[1])
のように定義し、開始値なしでうまくsum2([[1, 2], [2, 4], [3, 5]]) -> [1, 2, 2, 4, 3, 5]
仕事を得た場合。
このように合計が機能しない理由はわかりません。これは典型的なユースケースである
def sum(iter, start=0):
for element in iter:
start = start + iter
return start
:
開始値は必要ありません。あなたはそれを何と考えましたか? –
'sum([1,1,1])= 3'である。 'sum([]、10)= 10'です。 –
@ Ev.Kounis iterableに数字以外の項目が含まれている場合は、開始値を指定する必要があります。デフォルトの開始値は「0」です。 –