我試圖在元組和字典中找到最大值,現在我正在使用回圈來做它,但我真的想將代碼從回圈更改為串列理解,就像一個線性代碼一樣。
這是我擁有的字典,我需要從中提取最大值。
student1 = {First_Name: "ABC", Last_Name: "XYZ", Age: 23}
student2 = {First_Name: "ABC", Last_Name: "XYZ", Age: 23, Address: "TYU"}
student3 = {First_Name: "ABC", Last_Name: "XYZ", Age: 23, Address: "TYUZYX"}
A = {student_One: student1, student_Two: student2, student_three: student3}
最大值應該是 student_3。
uj5u.com熱心網友回復:
如果您可以發布當前的解決方案,那將非常好,這樣我就可以更好地幫助您,但我從您的問題中了解到,您想使用單行代碼來查找最大值而不是回圈。以下是實作這一目標的一些方法。
在python中使用max函式
如果您的字典名稱是 dict 那么您可以使用以下代碼來查找最大值。
max(dict, key=dict.get)
或者
dict[max(dict, key=dict.get)]
或者
max(dict)
你也可以使用 operator.itemgetter
max(dict.iteritems(), key=operator.itemgetter(1))[0]
有一種更快的方法可以從 Python 中的字典中獲取最大值
def keywithmaxval(d):
# a) create a list of the dict's keys and values;
# b) return the key with the max value
v=list(d.values())
k=list(d.keys())
return k[v.index(max(v))]
您還可以使用 Lambda 運算子
max(dict.items(), key = lambda k : dict[1])
對于元組
在元組的情況下也有很多方法,但maxPython 中的函式是從元組中找到最大值的最快方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400152.html
