第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

自定義數(shù)據(jù)結(jié)構(gòu):具有累積值的字典字典

自定義數(shù)據(jù)結(jié)構(gòu):具有累積值的字典字典

動漫人物 2021-06-08 13:34:45
語境我正在編寫一個 python 腳本,該腳本處理 Google 提供的與 Play 商店中安裝的應(yīng)用程序相關(guān)的統(tǒng)計數(shù)據(jù)。特別是,我正在記錄每個應(yīng)用程序每月每個國家/地區(qū)的安裝量。鑒于谷歌通過 csv 文件提供這些信息,每個國家每天一行,我必須構(gòu)建一個自定義數(shù)據(jù)結(jié)構(gòu)來存儲值,同時解析所有行的所有行。迄今為止我想出了一本字典詞典。一級字典的鍵是月份(datetime對象)。值是字典,鍵是國家,值是對應(yīng)國家對應(yīng)月份的累計安裝量。這給了我一個結(jié)構(gòu)的字典 {Month : {Country : amount_of_installs} }這允許我構(gòu)建以下函數(shù)來逐步填充我的字典:def addNewValue(dictionary, month, country, valueToAdd):    if month in dictionary:        if country in dictionary[month]:            dictionary[month][country] += valueToAdd        else:            dictionary[month][country] = valueToAdd    else:        dictionary[month] = {country: valueToAdd}問題雖然這是一個可行的解決方案,但感覺像是一個嚴(yán)重的非最佳黑客。因此,為了教育起見,我想知道是否有另一個更好的解決方案來完成這樣的任務(wù)。也許另一個我不知道的更優(yōu)化的數(shù)據(jù)結(jié)構(gòu),一個現(xiàn)有的類已經(jīng)設(shè)法以更好的方式做到這一點。就是這樣,謝謝你的建議!
查看完整描述

1 回答

?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

您可以使用嵌套的defaultdict:


from collections import defaultdict as dd


dictionary = dd(lambda: dd(int))

如果您將所述數(shù)據(jù)結(jié)構(gòu)傳遞給您的函數(shù),則該函數(shù)可以簡單地為:


def addNewValue(dictionary, month, country, valueToAdd):

    dictionary[month][country] += valueToAdd


查看完整回答
反對 回復(fù) 2021-06-16
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號