国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

Python中使用max()函數(shù)求一組數(shù)據(jù)的最大值

2023-04-25 12:32:05
字體:
供稿:網(wǎng)友

在Python中可以使用max()函數(shù)求一組數(shù)據(jù)的最大值。

一、max()函數(shù)語法格式

max()函數(shù)的語法格式與min()函數(shù)相同,其基本語法格式如下:

max( iterable, *[,key, default])

參數(shù)的含義如下:

  • iterable 要在該參數(shù)所指定的對象中找出最大值,該參數(shù)應(yīng)是一個可迭代的對象,如列表,元組等。
  • key 用于指定參數(shù)的單行排序函數(shù);
  • default 當傳遞的iterable是一個空對象時的默認值。

如果傳遞的是多個數(shù)值作為參數(shù),其語法形式如下:

max(arg1, arg2, *args[,key])

  • arg1, arg2,...是一組數(shù)值傳遞給函數(shù),讓其找出最大值;
  • key 用于指定排序函數(shù)。

Python中max()函數(shù)的使用

二、參數(shù)為可迭代對象的使用舉例

下面這段程序演示了列表和元組數(shù)據(jù)的使用情形:

#求列表中的最大值
list1 = [12,45,67,23,10,3]
max1 = max(list1)
print("最大值是:", max1)
list2 = []
max2 = max(list2, default = None)
print("最大值是:", max2)

#求元組中的最大值
t = (12,54,32,98,33)
max3 = max(t)
print("最大值是:", max3)

輸出結(jié)果:

最大值是: 67
最大值是: None
最大值是: 98

在傳遞的參數(shù)為列表時,這里特意安排了一個空列表的情況,我們指定在列表為空時,返回的默認值為None。如果不指定default參數(shù),則會給出如下的錯誤信息:

ValueError: max() arg is an empty sequence

三、參數(shù)為多個值的情況

我們也可以直接給max傳遞不少于2個值的參數(shù),讓其找出最大值。

#傳遞多個值作為參數(shù)
max4 = max(12, 9, 87, 23, 65)
print("最大值是:", max4)

輸出結(jié)果為:

最大值是: 87

在使用此種參數(shù)時要確保參數(shù)值不少于2個,否則將會給出下面的錯誤:

TypeError: 'int' object is not iterable即參數(shù)類型錯誤,在給定一個參數(shù)時,Python解釋器將會把該參數(shù)理解為該參數(shù)應(yīng)該是一個可迭代的對象,否則就會出錯。

四、key參數(shù)的使用

當對象的元素仍為集合對象時,可以使用該參數(shù)給出排序方法。

list3 = [[32,10,68],[45,8,99],[36,29,79]]

def func(alist):
    return alist[1]

max5 = max(list3, key = func)
print("列表中的最大值為:", max5)
max6 = max(list3)
print("列表中的最大值為:", max6)

輸出結(jié)果為:

列表中的最大值為: [36, 29, 79]
列表中的最大值為: [45, 8, 99]

該程序中第一個max函數(shù)調(diào)用的含義是,把列表list3中每個子列表中第2個元素為最大值的列表找出來。因為在list3中第2個元素值最大的是位于[36, 29, 79]這個列表中的29,所以最后輸出結(jié)果為:[36, 29, 79]。

而第二個調(diào)用默認是比較每個子列表中的第一個元素。

當使用key參數(shù)時,所給的每個參數(shù)值也應(yīng)是可迭代的對象。

五、其他類型的數(shù)據(jù)

max函數(shù)不僅可以用于數(shù)值型的可迭代對象,也可以運用于其它類型的可迭代對象,如列表、元組、字符串。在上面的例子中已經(jīng)證明了可迭代對象的元素為列表的情形,默認是比較的每個子列表中第一個元素值的大小。元組也是如此。

對于字符串是比較第一個字符的Unicode值。下面給出一個字符串的例子。

maxstr1= max("I Love China!")
print("最大字符:", maxstr1)
maxstr2 = max("我愛中國")
#使用ord找出每個字符的Unicode碼
print("我:",ord("我"))
print("愛:",ord("愛"))
print("中:",ord("中"))
print("國:",ord("國"))
print("最大字符:", maxstr2)

輸出結(jié)果如下:

最大字符: v
我: 25105
愛: 29233
中: 20013
國: 22269
最大字符: 愛
本文(完)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 栖霞市| 盐池县| 兴宁市| 淳安县| 合山市| 赣州市| 沁阳市| 泾阳县| 靖宇县| 百色市| 清水县| 昌图县| 仙居县| 荆州市| 邓州市| 湖南省| 房山区| 汉阴县| 安图县| 西丰县| 大姚县| 驻马店市| 乐平市| 积石山| 安庆市| 达州市| 襄汾县| 龙海市| 徐闻县| 甘德县| 高雄县| 行唐县| 辽宁省| 永和县| 聂荣县| 花垣县| 宣武区| 塔河县| 沙洋县| 松溪县| 铜山县|