亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查字典項目平均值的函數

檢查字典項目平均值的函數

慕勒3428872 2021-09-25 16:27:59
我正在嘗試將字典發送到計算平均值的函數中,我相信我的函數很好,但是我在發送字典時遇到了麻煩my_dict = {"first": 100, "second": 0, "third": 200}def avg(dict):    sum=0    count=0    for k,v in dict:        sum = sum+v        count +=1    return(sum/count)result = avg(**my_dict)print(result)輸出應該是 100 進入“結果”
查看完整描述

6 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

my_dict = {"first": 100, "second": 0, "third": 200}

def dictavg(your_dict):

    return sum(your_dict.values())/len(your_dict)

print(dictavg(my_dict))


查看完整回答
反對 回復 2021-09-25
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

您不能將以下語句與字典一起使用:


for k, v in dict:

相反,有一種方法可以分別使用方法 keys() 或 values() 來接收字典的鍵列表或值。這些方法返回字典鍵或字典值的列表,然后您可以迭代它們。還有一個方法可以返回鍵和值的元組列表 - items()。


所以這些都應該適合你:


my_dict = {"first": 100, "second": 0, "third": 200}


def avg(dicti):


    total_sum=0

    count=0

    for key in dicti.keys():

        sum += dicti[key]

        count +=1

    return(sum/count)


result = avg(my_dict)


print(result)

或者:


my_dict = {"first": 100, "second": 0, "third": 200}


def avg(dicti):


    total_sum=0

    count=0

    for value in dicti.values():

        sum += value

        count +=1

    return(sum/count)


result = avg(my_dict)


print(result)


查看完整回答
反對 回復 2021-09-25
?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

直接傳遞您的字典,而不是通過**字典解包運算符。在你的函數中進行解包:迭代dict.items給出鍵值對,但在這里你可以使用dict.values.


另外,永遠不要隱藏內置函數。所以不要使用dict,sum等作為變量名。


這會起作用:


def avg(d):


    val_sum = 0

    count = 0

    for v in d.values():

        val_sum += v

        count += 1

    return(val_sum/count)


result = avg(my_dict)  # 100.0

您還可以使用內置函數sum和len:


result = sum(my_dict.values()) / len(my_dict.values())

或使用statistics.mean:


from statistics import mean


result = mean(my_dict.values())  # 100


查看完整回答
反對 回復 2021-09-25
  • 6 回答
  • 0 關注
  • 312 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號