一千萬個為什麽

搜索

在python中查找最大值

我正在做一個問題,我需要使用csv文件中的數據來查找哪個電影每年的總票房總數高。

每部電影和它出現的那一年,我已經有了'dict'年份',而且對於'總'來說也是如此。 盡管如此,我的代碼仍然返回0作為最大總數。我在這裏想念的是什麽?

def MaxGrossFinder(c):

    for film in year:
        MaxGross = 0                        
        f = int(gross[film])                        
        if year[film] == c:
            if f > MaxGross:
                MaxGross = f
    return MaxGross

最佳答案

使用 max() 功能。它正確地執行此操作。

max(int(gross[film]) for film in year if year[film] == c)

您的問題是在每次叠代中將 MaxGross 設置為零。所以除了最後的所有值都被忽略了。

另請參閱創建一個Film類並使用一個電影對象的字典,而不是使用多個平行的dicts。

轉載註明原文: 在python中查找最大值