有一道題,將乙個二元列表,綜合成乙個一元列表。 比如:[[1],[2,3],[4,5,6]],將其轉成[1, 2, 3, 4, 5, 6].
這個時候使用python自帶的sum函式會很簡單。 先看下sum函式的幫助文件:
從上面的幫助文件可以看出:sum函式是個內建函式,可以求乙個數字列表的和,並且可以帶初始值,如果不帶初始值的話,預設是0.比如說:
>>> sum([1,2,3,4]) # 預設的起始值為0
10>>> sum([1,2,3,4], 0) # start值設定為0,與上面等同
10>>> sum([1,2,3,4], 5) # start值設定為5,返回10+5=15
15
上面的都好理解,但如何使用sum函式來完成上面那道題呢。 這就要借助幫助文件裡面說的,首個引數為可迭代的列表,初始值預設為0,也可以為其他值,比如說,空列表。在python裡面,型別是動態型別,一種操作或介面,到底做何操作取決於物件本身。比如說同樣是+,如果兩者都是數字1+1=2,如果兩者都是字串,則'1'+'1'='11'。所以如果這裡的start本身為,則會執行列表合併的操作,也就達到目的了。
如果不用上面的方法,用其他方法的話,可能就要複雜一點。
跟上面的四種方法比較起來,覺得用sum函式應該是簡潔明瞭的,也符合pythonic倡導的原則。
上面的第四種方法,通過正規表示式的方式,對多元列表做綜合處理的話,非常方便!
python中的sum函式 sum axis 1
看起來挺簡單的樣子,但是在給sum函式中加入引數。sum a,axis 0 或者是.sum axis 1 就有點不解了 在我實驗以後發現 我們平時用的sum應該是預設的axis 0 就是普通的相加 而當加入axis 1以後就是將乙個矩陣的每一行向量相加 例如 import numpy as np n...
python中的sum函式 sum axis 1
看起來挺簡單的樣子,但是在給sum函式中加入引數。sum a,axis 0 或者是.sum axis 1 就有點不解了 在我實驗以後發現 我們平時用的sum應該是預設的axis 0 就是普通的相加 而當加入axis 1以後就是將乙個矩陣的每一行向量相加 例如 import numpy as np n...
python中的sum函式 sum axis 1
我們平時用的sum應該是預設的axis 0 就是普通的相加,而當加入axis 1以後就是將乙個矩陣的每一行向量相加 axis 0,表示列。axis 1,表示行。對於向量 import numpy as np np.array 0,2,1 array 0,2,1 b.sum 3 b.sum axis ...