Python中defaultdict函数的使用方法
Python的字典是否有默認值?
眾所周知,在Python中如果訪問字典中不存在的鍵,會引發KeyError異常(JavaScript中如果對象中不存在某個屬性,則返回undefined)。但是有時候,字典中的每個鍵都存在默認值是非常方便的。例如下面的例子:
strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', 'kitten', 'puppy') counts = {} for kw in strings: counts[kw] += 1該例子統計strings中某個單詞出現的次數,并在counts字典中作記錄。單詞每出現一次,在counts相對應的鍵所存的值數字加1。但是事實上,運行這段代碼會拋出KeyError異常,出現的時機是每個單詞第一次統計的時候,因為Python的dict中不存在默認值的說法。
為了解決上述問題,我們可以先加個判斷語句,若key不存在,則其value值設為1:
strings = ('puppy', 'kitten', 'puppy', 'puppy','weasel', 'puppy', 'kitten', 'puppy') counts = {}for kw in strings:if kw not in counts:counts[kw] = 1else:counts[kw] += 1同樣也可以利用setdefault的方法來設置默認值:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' strings = ('puppy', 'kitten', 'puppy', 'puppy','weasel', 'puppy', 'kitten', 'puppy') counts = {}for kw in strings:counts.setdefault(kw, 0)counts[kw] += 1還有一種方法來對字典進行初始化操作——defaultdict
defaultdict類就好像是一個dict,但是它是使用一個類型來初始化的:
>>> from collections import defaultdict >>> d = defaultdict(list) >>> d['k1'] [] >>> d defaultdict(<class 'list'>, {'k1': []}) >>> d['k2']='kobe' >>> d defaultdict(<class 'list'>, {'k1': [], 'k2': 'kobe'}) >>> d['k3'].append('lebron') >>> d defaultdict(<class 'list'>, {'k1': [], 'k2': 'kobe', 'k3': ['lebron']})結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
【Python教程】全網最容易聽懂的1000集python系統學習教程(答疑在最后四期,滿滿干貨)
Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者
2021年Python最新最全100個爬蟲完整案例教程,數據分析,數據可視化,記得收藏哦
總結
以上是生活随笔為你收集整理的Python中defaultdict函数的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 中关于 round 函数的
- 下一篇: Python -itertools模块c