由于值中的引號,我在遍歷字典時遇到問題,我將如何計算這樣的字典中的平均值?
我嘗試使用地圖功能繞過引號,但沒有奏效
uj5u.com熱心網友回復:
您需要首先從字串中洗掉“,”字符,然后將它們轉換int為執行數學運算。一旦 ',' 被洗掉,Python 將強制使用 int 型別,但最好顯式轉換以盡早捕獲任何錯誤。
salaries= { "Ben" : '82,500', "Bob" : '83,750', "Mike": '90,000', "Ann" : '89,000', "Sue" : '80,000' }
for k,v in salaries.items():
salaries[k] = int(v.replace(',',''))
avg = sum(salaries.values())/len(salaries.values())
print(avg)
uj5u.com熱心網友回復:
首先,您必須洗掉帶有該replace(",", "")行的逗號。您必須將數字字串轉換為int(),float()或類似的秒數。然后,您可以取這些值并在您認為合適的時候對其進行平均。在這種情況下,我們運行了statistics.mean, 但statistics.fmean作業正常,或者只是sum(x) / len(x)
import statistics
salaries = {"a": "1,000", "b": "2,000"}
average = statistics.mean([float(salaries[value].replace(",", "")) for value in salaries])
print(average)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528992.html
標籤:Python字典
