簡體   English   中英

sum() 中 Start=list 背后的邏輯是什么

[英]What is the logic behind Start=list in sum()

a = sum([[1, 4], [2, 3]],[])

#output = [1, 4, 2, 3]

能否解釋一下 start = [] 如何解壓兩個列表? 謝謝

sum()添加輸入集合中的所有元素,就好像它們被+運算符連接一樣。 一種可能的實現可能是這樣的:

def sum(vals, start=0):
    result = start
    for v in vals:
        result = result + v
    return result

由於默認起始值為0 ,並且int + list給出類型錯誤,因此提供[]作為起始值將給出預期結果。

最后, a = sum([[1, 4], [2, 3]],[])將等效於:

a = []
a = a + [1, 4]
a = a + [2, 3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM