[英]How do max and min function work?
我有以下字典:
d = {1: 'zz', 2: 'we', 'as': 'dfda', 'x': 'zyz'}
max
和min
返回如下:
max(d)
'x'
min(d)
1
在這種情況下, max
和min
實際如何工作?
max
和min
迭代。 如果您嘗試將字典轉換為可迭代的字典,則會獲取其鍵。 因此, max(d)
類似於max(1,2,'as','x')
。 上有各種內建類型的排序一些細節在這里 。 例如, 1< "a"
為True
。 用於查找列表的最大值。 min
同樣。 需要注意的是,我不建議在生產代碼中執行類似的操作。
min
和max
函數,當應用於字典時,它們在字典的鍵上起作用。
就您而言,他們必須繼續努力
[1, 2, 'as', 'x']
如您所見,其中存在多種類型的數據。 在Python 2.7中,如果類型不同,則將類型的字符串值用於比較。 。 從該部分引用
請注意,比較不同類型的對象是合法的。 結果是確定性的,但是任意的: 類型按其名稱排序 。 因此,列表總是小於字符串,字符串總是小於元組,等等。(不應該依賴用於比較不同類型的對象的規則;它們可能會在語言的將來版本中發生變化。)
因此,如果您實際上對字典鍵進行排序,
>>> sorted(d)
[1, 2, 'as', 'x']
如您現在所見,最小的是1
,最大的是x
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.