python二维列表做参数_python sum函数iterable参数为二维list,start参数为“[]”该如何理解...
1樓講的很對,我這邊舉例詳細說明一下。
如下為help(sum)解釋
Help on built-in function sum in module builtins:
sum(iterable, start=0, /)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
(END)
主要這句話Return the sum of a 'start' value (default: 0) plus an iterable of numbers,簡單就是返回起始值start和迭代器每個元素累加的結果,而起始值默認為0。
舉例說明:
a=[1,2,3]
sum(a) # 計算結果是sum(a) = 0 + 1 + 2 + 3, 起始start默認為0,是整數,加法沒問題
sum(a, start=100) # sum(a, start=100) = 100 + 1 + 2 + 3, start變量也可以人為設置,此時為100,運算沒問題
如果是二維list,如[[1,2,3],[4,5,6]], 這時迭代器每個元素均為list,這些元素作加法時start不能再使用默認整數類型值0了,因為整數和list無法做加法運算,即1+[1,2,3]+[4,5,6]運算是錯誤的,此時需要設置起始變量也為list類型,如start=[],如下:
a=[[1,2,3], [4, 5, 6]]
sum(a) # 這樣寫是錯誤的,sum(a) = 0 + [1,2,3] + [4, 5, 6] ,0無法和列表做加法運算
sum(a, start=[]) # 正確, sum(a, []) = [] + [1,2,3] + [4,5,6] = [1,2,3,4,5,6] ,這樣才對
sum(a, start=[1,2,3]) # 正確, sum(a, [1,2,3]) = [1,2,3] + [1,2,3] + [4,5,6] = [1,2,3,1,2,3,4,5,6] ,也可以這樣
結論:
使用sum做加法運算,start的值和迭代器中元素做加法運算,需要滿足加法運算要求。
按照上面的示例,二維list使用sum可以實現多個list的拼接(其實使用numpy也很方便)。
如果遇到其他各種類型迭代器,只要按照定義展開就能輕松搞定內部機理,同時要記得設置start變量的值和迭代器元素類型相同喲!!!,不相同也可以,必須可以做加法運算,C++叫重載
總結
以上是生活随笔為你收集整理的python二维列表做参数_python sum函数iterable参数为二维list,start参数为“[]”该如何理解...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔兽世界怀旧服锻造专家任务怎么做 锻造专
- 下一篇: 什么是python函数_Python之什