。出於我的目的,第一個governor_db是一個字典,包含一個州長的名字作爲關鍵字,值只是一組信息,像它們服務的年份一樣。第二個字典包含年份作爲關鍵字和價值是當年的每個月的失業(關鍵)。
我目前的工作內容:
我工作的函數調用以前的功能,我使用的過程中,他們所服務的年計算每省長的平均失業率。我所擁有的(下文)正在重複州長的名字,並將平均失業率拉入新的職能範圍,以便能夠比較最低的平均失業率和州長與這條信息之間的差距。
到目前爲止,我所擁有的將會反覆通過它,準確地給我最低的失業率,但不會給那個符合最低價值的正確的州長。
我當前的代碼:
def governor_lowest_avg_unemployment(g_db,unemployment_db):
all_unemploy={}
for governor in g_db.keys():
avg_unemploy= avg_unemployment_for_governor(g_db,unemployment_db, governor)
if avg_unemploy==None:
all_unemploy[governor]=0
else:
all_unemploy[state]= avg_unemploy
lowest_avg= min(all_unemploy.values())
for key, value in all_unemploy.items():
if value == lowest_avg:
lowest_gov= key,value
return(lowest_gov)
我想嘗試做,是因爲我迭代通過字典和它對應的失業率值(存儲在上述詞典all_unemploy),我想能夠存儲先前的值並比較我迭代的新值是否小於前一個值。如果新值小於前一個值,我想用新值替換前一個值,直到它停止迭代字典並給出最低平均值的正確元組組合:(總督,平均失業率)
我開始的想法是做下面的事情。我不知道如何雖然實現它:
for key, value in all_unemploy:
if value> previous
pass
elif value == previous
pass
elif value = None
pass
elif value < previous
lowest = key, value
return lowest
沒有在這種情況下,僅僅意味着先前的功能,沒有足夠的信息,失業數據庫來計算州長的平均失業率。
我怎麼能比較這樣的值,並最終得到一個準確的最低值?我是否正確地實施了這樣的事情?
它的工作真棒。我添加了一個名爲「最低= =(州長,avg_unemploy)」的變量,並且返回到最低值,現在正在工作!唯一不起作用的是值爲None的時候,但我確信我能找出一個。它應該是以None出現的,但當然它在這裏設置的方式會導致它出現:(無,1e99)。我相信我可以找到一種方法來解決這個問題! – Nick
只需添加一個檢查最低平均值的if語句;如果是1e99,則替換爲無。如果你喜歡這個答案,請接受它。 – Cyb3rFly3r