本篇文章為大家展示了如何在Python中使用dict和defaultdict,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到臨西網(wǎng)站設(shè)計(jì)與臨西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋臨西地區(qū)。先看一個(gè)需求
from collections import defaultdict """ 需求: 統(tǒng)計(jì)user_list中字母出現(xiàn)的次數(shù) """ user_dict = {} user_list = ['A', 'B', 'C', 'A', 'C', 'C'] # 第一種方式 for item in user_list: if item not in user_dict: user_dict[item] = 1 else: user_dict[item] += 1 print(user_dict) # {'A': 2, 'B': 1, 'C': 3} # 第二種方式 user_dict = {} user_list = ['A', 'B', 'C', 'A', 'C', 'C'] for item in user_list: user_dict.setdefault(item, 0) # 如果user_dict無item這個(gè)key,添加{item:0} , 如果有,不管. 而且這個(gè)方法性能比第一種方式好 user_dict[item] += 1 # item的value值累加1 print(user_dict) # {'A': 2, 'B': 1, 'C': 3} # 第三種方式.使用defaultdict default_dict = defaultdict(int) user_list = ['A', 'B', 'C', 'A', 'C', 'C'] for item in user_list: default_dict[item] += 1 # 使用這種方式,代碼更簡(jiǎn)單,性能也更好 print(default_dict) # defaultdict(<class 'int'>, {'A': 2, 'B': 1, 'C': 3})
defaultdict的使用
由上面的示例可知,defaultdict會(huì)根據(jù)創(chuàng)建實(shí)例參數(shù)的類型生成一個(gè)對(duì)應(yīng)類型的默認(rèn)值,
這對(duì)于dict類型的數(shù)據(jù)結(jié)構(gòu)而言,可以很好避免KeyError類型的錯(cuò)誤 .
此外,我們還可以自定義defaultdict調(diào)用對(duì)象的數(shù)據(jù)結(jié)構(gòu),以滿足我們實(shí)際需要
def person(): '''自定義一個(gè)可調(diào)用對(duì)象''' return { 'name': '', 'age': 0 } default_dict = defaultdict(person) default_dict['p'] pass
上述內(nèi)容就是如何在Python中使用dict和defaultdict,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文題目:如何在Python中使用dict和defaultdict-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article46/dphdhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站營(yíng)銷、虛擬主機(jī)、網(wǎng)站排名、營(yíng)銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容