當前位置:成語大全網 - 漢語詞典 - python如何列表檢索最大值?

python如何列表檢索最大值?

List=[('小王',?第壹次考試',?'5'),?(‘陳驍’,第二次考試’,?'7'),?(‘陳驍’,第壹次考試’,?1 '),('小王',第六次考試',?'20')]

dic?=?{}

list1=[]

為了什麽?人?在?列表:

如果?人[0]?不是嗎?在?dic.keys():

dic[person[0]]?=?人

埃利夫?int(dic[person[0]][2])?& lt?int(person[2]):

dic[person[0]]?=?人

為了什麽?價值?在?dic.values():

list1.append(值)

打印(列表1)

*.妳看到的代碼應該是縮進的。妳可以右鍵點擊>檢查妳能從相應的源代碼中看到相關的縮進。

-

等壹下。我會記下妳的想法:

總體思路是動態改變字典dic。字典中的鍵是元組的第1個元素,也就是人名,對應的鍵值是整個元組,比如?Dic={ '小王':?('小王',第壹次考試',?'5')};?a .本詞典中的鍵值對不斷增加,b .鍵值對不斷變化。這裏的A和B兩點怎麽理解?

先說a,這個字典裏的鍵值對數量在增加。

舉個例子,我的字典壹開始是空的,然後遍歷字典的時候,我會把列表中元素(也就是elements)的第1個元素作為鍵,在dic中查找,看看當前dic中是否有這個鍵。如果沒有,我會在dic中添加壹個鍵值對。這個鍵值對的鍵是元組的第1個元素,對應的鍵值是

現在的dic是{ '小王':?(‘小王’,第壹次考試’,?5')},假設我遍歷到列表中的第二個元素,即?('陳驍','復試','七')?我就拿這個元組的第1個元素,也就是‘陳驍’,看看dic字典的鍵裏有沒有‘陳驍’。結果dic裏只有壹個鍵‘小王’,沒有‘陳驍’,我就在dic裏加壹個鍵-值對,最後得到壹個新的dic:?{ '小王':('小王',第壹次考試',?'5'),?陳驍':('陳驍','第二次考試',' 7')}。

再看b點:關鍵值是不斷變化的:

如上所述,dic在字典中的值是{ '小王':?('小王',第壹次考試',?'5'),?陳驍':('陳驍','第二次考試',' 7')},然後列表我遍歷到第三個元素,即('陳驍','第壹次考試',' 1 ')。這時,前面的處理邏輯還是壹樣的。取元組中的第1個元素,在dic鍵中查找,看是否存在。如果存在,字典dic具有關鍵字“陳驍”,然後繼續執行步驟2,並使用元組中的第3個元素和dic中的關鍵字值“陳驍”,以及當前從列表中取出的第1個元素作為“陳驍”。如果字典中的值很大,則字典中“陳驍”的鍵值保持不變。如果從列表中獲得的元組中的第三個值很大,則字典中的鍵值“陳驍”被從列表中獲得的當前元組替換。

最後,我們得到壹個具有唯壹鍵的字典,對應的鍵值在具有相同第壹元素的元組中是第三大的。

因為妳希望最終的類型是壹個字典,那麽下壹步就是如果妳把這個字典dic轉換成妳想要的字典,dic.alues()就會得到dic中所有值的這樣壹個叠代器,然後用for循環遍歷這個叠代器,把每個叠代器中取的值追加到list1中。

最終打印出來的list1符合題目要求。