如何在Python中使用dict和defaultdict-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何在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的使用

如何在Python中使用dict和defaultdict

如何在Python中使用dict和defaultdict

如何在Python中使用dict和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

如何在Python中使用dict和defaultdict

上述內(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)

網(wǎng)站托管運(yùn)營(yíng)