python自帶的sum函式(或者
numpy中的sum函式
),無參時,所有全加;axis=0,按列相加;axis=1,按行相加
(sum([[1,
2,3],[4,
5,5]]))
(sum([[1,
2,3],[4,
5,5]],axis=
0))
(sum([[1,
2,3],[4,
5,5]],axis=
1))
#numpy中的sum
a = np.sum([[1,2
,3], [4,
5,5]])
#無參,直接呼叫
map()是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。
例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9]
如果希望把list的每個元素都作平方,就可以用map()函式:
因此,我們只需要傳入函式f(x)=x*x,就可以利用map()函式完成這個計算:
def f(x):輸出結果:return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
[1, 4, 9, 10, 25, 36, 49, 64, 81]注意:
map()函式不改變原有的 list,而是返回乙個新的 list。
利用map()函式,可以把乙個 list 轉換為另乙個 list,
只需要傳入轉換函式。
由於list包含的元素可以是任何型別,因此,map() 不僅僅可以處理只包含數值的 list,事實上它可以處理包含任意型別的 list,只要傳入的函式f可以處理這種資料型別。
示例:假設使用者輸入的英文名字不規範,沒有按照首字母大寫,後續字母小寫的規則,請利用map()函式,把乙個list(包含若干不規範的英文名字)變成乙個包含規範英文名字的list:
輸入:['adam', 'lisa', 'bart']
輸出:['adam', 'lisa', 'bart']
方法:
defformat_name(s):
return
s.capitalize()
print map(format_name, ['
adam
', '
lisa
', '
bart
'])
結果:
>>>['adam
', '
lisa
', '
bart
']
python的reduce()函式
reduce()函式也是python內建的乙個高階函式。
reduce()函式接收的引數和 map()類似,
乙個函式 f,乙個list,但行為和 map()不同,
reduce()傳入的函式 f 必須接收兩個引數
,reduce()對list的每個元素反覆呼叫函式f,並返回最終結果值。
例如,編寫乙個f函式,接收x和y,返回x和y的和:
1
2
def
f(x, y):
return
x
+
y
呼叫reduce(f, [1, 3, 5, 7, 9])時,reduce函式將做如下計算:
1
2
3
4
5
先計算頭兩個元素:f(
1
,
3
),結果為
4
;
再把結果和第
3
個元素計算:f(
4
,
5
),結果為
9
;
再把結果和第
4
個元素計算:f(
9
,
7
),結果為
16
;
再把結果和第
5
個元素計算:f(
16
,
9
),結果為
25
;
由於沒有更多的元素了,計算結束,返回結果
25
。
上述計算實際上是對 list 的所有元素求和。雖然python內建了求和函式sum(),但是,利用reduce()求和也很簡單。
reduce()還可以接收第3個可選引數,作為計算的初始值。如果把初始值設為100,計算:
1
reduce
(f, [
1
,
3
,
5
,
7
,
9
],
100
)
結果將變為125,因為第一輪計算是:
計算初始值和第乙個元素:f(100, 1),結果為101。
Python 學習基礎篇 函式
函式是一段特定功能的,被封裝的,可重用的程式 段。給這段程式乙個名稱,然後就可以在其他程式的任何地方通過這個名稱任意地執行這個斷碼塊。1 方式一 乙個變數已在函式外部定義,若要在函式內部進行複製的話,在函式內部使用global關鍵字進行定義。usr python defsum global x pr...
Python學習筆記 基礎篇
運算子2.條件判斷 3.迴圈 4.字串 5.列表 list 6.元組 7.字典 dictionary 8.時間與日期 9.函式 10.i o函式 python是一種物件導向的 解釋型的高階程式語言。python包含五個標準的資料型別 numbers 數字 string 字串 list 列表 tupl...
Python基礎學習篇 dir 函式
您可以使用內建的dir 函式列出乙個定義物件的識別符號。例如,對於乙個模組,包括在模組中定義的函式,類和變數。當你給dir 提供乙個模組名字時,它返回在那個模組中定義的名字的列表。當沒有為其提供引數時,它返回當前模組中定義的名字的列表。dir 函式舉例 import sys 獲得屬性列表,在這裡是s...