亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python標準庫defaultdict模塊使用示例

系統 1546 0

Python標準庫中collections對集合類型的數據結構進行了很多拓展操作,這些操作在我們使用集合的時候會帶來很多的便利,多看看很有好處。
defaultdict是其中一個方法,就是給字典value元素添加默認類型,之前看到過但是沒注意怎么使用,今天特地瞅了瞅。

首先是各大文章介紹的第一個例子:

復制代碼 代碼如下:

import collections as coll?
?
def default_factory():?
??? return 'default value'?
?
d = coll.defaultdict(default_factory, foo='bar')?
print 'd:',d?
print 'foo=>', d['foo']?
print 'foo=>', d['bar']?? #key為'bar'的元素不存在,會有一個默認值?

輸出結果是這樣的:
復制代碼 代碼如下:

d: defaultdict( , {'foo': 'bar'})?
foo=> bar?
foo=> default value?

結論:這里可以看到,當我們取字典中一個沒有的key的時候就會自動根據 default_factory生成一個value,類似于 d.get('bar','default value')

一個對比的例子:
如果一個字典中有個map的value是一個set,往這個set連續添加兩個元素,使用原始的dict是這樣的

復制代碼 代碼如下:

dict_set1 = {}?
#如果不知道這個字段中key有沒有,需要先判斷?
if 'key' not in dict_set1:?
??? dict_set1['key'] = set()?
dict_set1['key'].add('111')?
dict_set1['key'].add('000')?
print dict_set1?

如果使用defaultdict就是這樣的
復制代碼 代碼如下:

dict_set = coll.defaultdict(set)?
dict_set['key'].add('000')?
dict_set['key'].add('111')?
print dict_set

好處就是不需要做set的初始化這個判斷了。

兩個使用的小案例

復制代碼 代碼如下:

ss = '1111222233334444'?
dict_int = coll.defaultdict(int)?
for s in ss:?
??? dict_int[s] += 1?
print dict_int?
?
'''''
官方文檔的這個例子就能看到這種寫法的簡潔了
https://docs.python.org/2/library/collections.html#collections.defaultdict
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...???? d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
'''?

當我們做這種帶有統計性質的數據操作時候,這個對象很好用。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产午夜不卡在线观看视频666 | 麻豆亚洲一区 | 六月成人网 | 成人免费视频在线观看 | 四虎永久免费网站免费观看 | 亚洲国产成人久久综合一区77 | 狠狠躁天天躁夜夜躁婷婷 | 九九九久久久 | 久久国产亚洲观看 | 四虎精品永久免费 | 四虎影在永久地址在线观看 | 久久精品综合网 | 欧美国产精品日韩在线 | 日韩免费在线视频观看 | 久久视频免费观看 | 五月婷婷狠狠干 | 久久久久依人综合影院 | 毛片天天看| 亚洲精品影院一区二区 | 99在线热播精品免费 | 久久四虎| 香蕉视频在线观看免费 | 精品久久久久久久久久中文字幕 | 亚洲欧洲国产成人综合一本 | 久久国产欧美日韩精品免费 | 香蕉在线精品亚洲第一区 | 国产欧美久久久精品影院 | 国产疯狂露脸对白 | 老司机免费福利影院 | 日本色图在线 | 福利影院在线 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人系列 | 国产成人精品自拍 | 99久热成人精品视频 | 国产a做爰全过程片 | 国产aⅴ精品一区二区三区久久 | 欧美jizzhd欧美巨大 | 中文字幕中文字幕在线 | 手机看片亚洲 | 婷婷综合五月中文字幕欧美 | 欧美成人免费观看的 |