字典相關的計算場景

2022-08-27 03:03:10 字數 955 閱讀 4484

字典物件(dict)是典型的鍵值對映物件,key: value。有時,我們會遇到這樣的場景:提取字典物件中value最大或最小的鍵值對,或根據value的大小排序鍵值對。

prices =
為了獲取****最大或最小的元素,如果我們簡單的使用max(prices)或min(prices),得到的結果是'ibm'或'aapl'。因為當使用字典物件進行獲取最大最小值,排序時,預設是使用key進行比較。

若使用min(prices.values())或max(prices.values()),可以得到最小或最大的值,但同時失去了與之相對應的key的資訊。min或max有乙個key引數,提供定製化的比較函式。因此,上面的寫法可以改寫為min(prices, key=lambda k: prices[k])或max(prices, key=lambda k: prices[k])。然後,為了獲取最小或最大值min_price = prices[min(prices, key=lambda k: prices[k])]。

為了同時獲得鍵值對的資訊,同時根據值的大小進行比較,提取最大或最小值。我們可以先構造乙個(value, key)的資料,然後使用max或min進行比較。

min_price = min(zip(prices.values(), prices.keys()))。min_price的值為(10.75, 'fb')。prices_sorted = sorted(zip(prices.values(), prices.keys()))。

值得注意的是,zip建立了乙個迭代器,只能被操作一次。

prices_and_names = zip(prices.values(), prices.keys())

print(min(prices_and_names)) # ok

print(max(prices_and_names)) # valueerror: max() arg is an empty sequence

Python的字典相關

1.在字典中新增新元素的方法 dict key value 或者使用 fromkeys 方法 2.遍歷字典 for key in dict2 print key s,value s key,dict2 key 3.輸出乙個有序字典的方法 for key,value in sorted dict.it...

字典排序相關

一 字典排序的規則 兩個字串 stra a1 a2 am strb b1 b2 bn 1.如果其中乙個字串是另乙個字串的子串,那麼子串要小於另乙個字串 2.如果這兩個字串沒有子串的關係,那麼從前往後遍歷stra和strb,找到第一對不相同的字元ai和bi,如果aibi,則stra大於strb 3.具...

字典相關函式

增刪改查 增 fromkeys dic dic dd 你好 dic ss lili dic ww wangwei dic qq ashui dic support 寶藍 print dic dic.pop nj print dic dic res dic.pop q qq 沒有 print res ...