麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

Python中使用min()函數(shù)求最小值

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

Python中min()函數(shù)的作用是求一組數(shù)據(jù)中的最小者,如一組數(shù)字的最小值。

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

Python中min()函數(shù)的語法格式與max()函數(shù)語法格式相同。一般語法格式如下:

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

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

  • iterable 要在該參數(shù)所指定的對(duì)象中找出最小值,該參數(shù)應(yīng)是一個(gè)可迭代的對(duì)象,如列表,元組,字符串等。
  • key 用于指定排序函數(shù),該函數(shù)應(yīng)只有一行;
  • default 當(dāng)傳遞的iterable是一個(gè)空對(duì)象時(shí)的默認(rèn)值。

如果直接將多個(gè)數(shù)值直接作為參數(shù),其語法格式如下:

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

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

在了解了min()函數(shù)的基本語法格式后,下面舉例來說明該函數(shù)的具體使用方法。

Python min函數(shù)

二、可迭代對(duì)象作為參數(shù)傳遞給min函數(shù)

下面這段程序演示了列表、元組作為參數(shù)傳遞給min函數(shù)的情形。

#求列表中的最小值
list1 = [13,46,67,3,90,52]
min1 = min(list1)
print("最小值是:", min1)
list2 = []
min2 = min(list2, default = None)
print("最小值是:", min2)

#求元組中的最小值
t = (12,54,32,98,33)
min3 = min(t)
print("最小值是:", min3)

輸出結(jié)果:

最小值是: 3
最小值是: None
最小值是: 12

上面給出了三個(gè)例子用于求給定迭代對(duì)象中的最小值,其中求min1是一般的調(diào)用情況,這時(shí)要求迭代對(duì)象list1不能為空。求min2時(shí)給出了default參數(shù),即迭代對(duì)象為空時(shí),給出的最小值為None,如未設(shè)置default參數(shù),迭代對(duì)象為空時(shí)將會(huì)給出以下錯(cuò)誤:

ValueError: min() arg is an empty sequence

min3是迭代對(duì)象為元組時(shí)的情形。

三、參數(shù)直接給出多個(gè)值

我們?cè)谑褂胢in()函數(shù)時(shí)也可以直接給出不少于2個(gè)值的參數(shù),直接求出其最小者:

#傳遞多個(gè)值作為參數(shù)
min4 = min(12, 9, 87, 23, 65)
print("最小值是:", min4)

其輸出結(jié)果如下:

最小值是: 9

在使用這種形式時(shí)要確保給出的參數(shù)值不少于兩個(gè)值,否則會(huì)給出如下錯(cuò)誤:

TypeError: 'int' object is not iterable即參數(shù)類型錯(cuò)誤,在給定一個(gè)參數(shù)時(shí),Python解釋器將會(huì)把該種調(diào)用理解為第一種形式:即傳遞可迭代對(duì)象,否則就會(huì)出錯(cuò)。

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

有時(shí)傳遞的可迭代對(duì)象的元素值仍為一個(gè)集合序列值時(shí),Python解釋器無法按照常規(guī)方法求最小值,這時(shí)需要我們指定排序的算法。

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

def func(alist):
    return alist[1]

min5 = min(list3, key = func)
print("列表中的最小值為:", min5)
min6 = min(list3)
print("列表中的最小值為:", min6)

 其輸出結(jié)果如下:

列表中的最小值為: [45, 8, 99]
列表中的最小值為: [32, 10, 68]

 上面兩個(gè)例子中,求min5時(shí)指定了key參數(shù),key參數(shù)所指定的函數(shù)是要求按照列表中第2個(gè)元素值的大小進(jìn)行排序。由于三個(gè)子列表中第2個(gè)元素的最小值是第2個(gè)子列表,所以輸出結(jié)果為:[45, 8, 99]。

實(shí)際上,在這種情況下,即使沒有給定key參數(shù),默認(rèn)是按照子列表中的第1個(gè)進(jìn)行排序,min6演示了這種情況。

當(dāng)指定key參數(shù)時(shí),迭代對(duì)象中的每個(gè)元素也應(yīng)該是可迭代對(duì)象。

五、其它類型的數(shù)據(jù)舉例

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

對(duì)于字符串是比較第一個(gè)字符的Unicode值。下面給出一個(gè)字符串的例子。

minstr1= min("I Love China!")
print("最小字符:", minstr1)
minstr2 = min("我愛中國")
#使用ord找出每個(gè)字符的Unicode碼
print("我:",ord("我"))
print("愛:",ord("愛"))
print("中:",ord("中"))
print("國:",ord("國"))
print("最小字符:", minstr2)

 輸出結(jié)果如下:

最小字符: ' '
我: 25105
愛: 29233
中: 20013
國: 22269
最小字符: 中
上面第1個(gè)例子中,空格是最小字符。

本文(完)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产资源在线播放 | av视在线| 日本黄色免费播放 | 日本爽快片100色毛片视频 | 国产91小视频在线观看 | 国产女同玩人妖 | 精品黑人一区二区三区国语馆 | 美女黄色影院 | 亚洲精久久 | 激情综合网俺也去 | 免费激情视频网站 | 国产成人精品自拍视频 | 中文字幕欧美在线 | 成人av一二三区 | 亚洲综合视频网 | 噜噜噜在线 | av国产在线被下药迷网站 | 国产无遮挡一级毛片 | 久久久久久麻豆 | 石原莉奈日韩一区二区三区 | 久久精品re | 视频一区二区三区中文字幕 | hdbbwsexvideo | 干色视频 | 久久久中精品2020中文 | 精品一区二区三区免费视频 | 国产午夜精品久久久久 | 日韩99 | 日本成人一区二区 | wwwxxx国产| 嫩呦国产一区二区三区av | 2019天天干夜夜操 | 中文字幕一区2区 | 久久久国产精品成人免费 | 性少妇chinesevideo | 视频二区国产 | 免费国产在线视频 | 久久在线精品视频 | 正在播放91视频 | 黄色a级片视频 | 久久精品久久精品久久精品 |