enumerate()函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo)。
我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、南岳ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的南岳網(wǎng)站制作公司
x = [3, 2.2, 7.4, 6, 4]
list(enumerate(x))
# 輸出 [(0, 3), (1, 2.2), (2, 7.4), (3, 6), (4, 4)]
operator.itemgetter()函數(shù)用于獲取對象的哪些維的數(shù)據(jù),參數(shù)為想要取的一些維度序號。
x = [3, 2.2, 7.4, 6, 4]
b1 = operator.itemgetter(2, 1)
b1(x) # 輸出 (7.4, 2.2)
b2 = operator.itemgetter(3)
b2(x) # 輸出 6
max()函數(shù)有一個(gè)應(yīng)用很巧妙的參數(shù)key,在這里定義為operator.itemgetter(1),表示對enumerate(x)每個(gè)元素的第一維做比較(從0維開始),然后返回第一維值最大的元素,即包含索引和數(shù)值。
key參數(shù)還有其他的巧妙應(yīng)用:
# 獲取數(shù)組中絕對值最大的數(shù)
x = [3, 2.2, -7.4, 6, 4]
max(x, key=abs) # 返回 -7.4
# lambda表達(dá)式形式
x = [3, 2.2, -7.4, 6, 4]
max(x, key=lambda x: abs(x)) # 返回 -7.
python的內(nèi)建函數(shù)就有求最大最小值的函數(shù)。
求最大值:max()
求最小值:min()
求和:sum()
他們的第一個(gè)參數(shù)都是可遍歷對象,也就是說可以是字符串,tuple或者list,其它參數(shù)請參照文檔
如果是從列表中找最大值,則可以使用max(),如:
In?[279]:?a?=?range(10)
In?[280]:?max(a)
Out[280]:?9
如果是從數(shù)組找最大值,則可以使用numpy.max()函數(shù),如:
In?[281]:?a?=?np.arange(10)
In?[282]:?a.max()
Out[282]:?9
如果是一個(gè)二維數(shù)組,取某一列的最大值,則:
In?[285]:?a?=?np.arange(12).reshape(3,4)
In?[286]:?a
Out[286]:?
array([[?0,??1,??2,??3],
[?4,??5,??6,??7],
[?8,??9,?10,?11]])
In?[287]:?a[2,:].max()
Out[287]:?11
如需求列表中的最大值,用python自帶的函數(shù)max() 即可。代碼示例如下: numbers = [1,2,3,4,5,6,7,8,9] max(numbers)
2.
求最大值也可通過定義函數(shù),再調(diào)用函數(shù)求得。示例代碼如下:def findmax(L): if L == []: return(None) else: Max = L[0] for i in L: if i ...