簡體   English   中英

max和min函數如何工作?

[英]How do max and min function work?

我有以下字典:

d = {1: 'zz', 2: 'we', 'as': 'dfda', 'x': 'zyz'}

maxmin返回如下:

max(d)
'x'

min(d)
1

在這種情況下, maxmin實際如何工作?

maxmin迭代。 如果您嘗試將字典轉換為可迭代的字典,則會獲取其鍵。 因此, max(d)類似於max(1,2,'as','x') 上有各種內建類型的排序一些細節在這里 例如, 1< "a"True 用於查找列表的最大值。 min同樣。 需要注意的是,我不建議在生產代碼中執行類似的操作。

minmax函數,當應用於字典時,它們在字典的鍵上起作用。

就您而言,他們必須繼續努力

[1, 2, 'as', 'x']

如您所見,其中存在多種類型的數據。 在Python 2.7中,如果類型不同,則將類型的字符串值用於比較。 從該部分引用

請注意,比較不同類型的對象是合法的。 結果是確定性的,但是任意的: 類型按其名稱排序 因此,列表總是小於字符串,字符串總是小於元組,等等。(不應該依賴用於比較不同類型的對象的規則;它們可能會在語言的將來版本中發生變化。)

因此,如果您實際上對字典鍵進行排序,

>>> sorted(d)
[1, 2, 'as', 'x']

如您現在所見,最小的是1 ,最大的是x

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM