在Python中使用defaultdict初始化字典以及應(yīng)用方法
Python中可以使用collections中的defaultdict類實(shí)現(xiàn)創(chuàng)建進(jìn)行統(tǒng)一初始化的字典。這里總結(jié)兩種常用一點(diǎn)的初始化方式,分別是初始化為list和int。
初始化為list示范代碼:
#!/usr/bin/python from collectionsimport defaultdict s = [('yellow',1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] d =defaultdict(list) for k,v in s: d[k].append(v) print(d.items()
運(yùn)行結(jié)果如下:
E:\WorkSpace\05_數(shù)據(jù)分析\01_利用Python進(jìn)行數(shù)據(jù)分析\第02章_引言>pythondict_init.py
[('blue', [2, 4]),('red', [1]), ('yellow', [1, 3])]
從上面的結(jié)果可以看出,這種初始化功能非常適合用于統(tǒng)計(jì)幾個(gè)key出現(xiàn)過那幾個(gè)value。而第二種初始化為int的方式則與此不同,它適合實(shí)現(xiàn)的不是統(tǒng)計(jì)key的所有value,而是統(tǒng)計(jì)一個(gè)key出現(xiàn)過多少次。
示范代碼如下:
from collectionsimport defaultdict s = 'mississippi' d =defaultdict(int) for k in s: d[k] += 1 print(d.items())
運(yùn)行結(jié)果如下:
E:\WorkSpace\05_數(shù)據(jù)分析\01_利用Python進(jìn)行數(shù)據(jù)分析\第02章_引言>pythondict_int_int.py [('i', 4), ('p',2), ('s', 4), ('m', 1)]
如上結(jié)果中,每個(gè)字典的key對(duì)應(yīng)的value都是其出現(xiàn)的次數(shù)。
以上這篇在Python中使用defaultdict初始化字典以及應(yīng)用方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch/transformers?最后一層不加激活函數(shù)的原因分析
這里給大家解釋一下為什么bert模型最后都不加激活函數(shù),是因?yàn)閾p失函數(shù)選擇的原因,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-01-01Python實(shí)現(xiàn)的質(zhì)因式分解算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的質(zhì)因式分解算法,涉及Python數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-05-05python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析
這篇文章主要介紹了python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08如何使用Python實(shí)現(xiàn)CartPole游戲
在深度強(qiáng)化學(xué)習(xí)內(nèi)容的介紹中,提出了CartPole游戲進(jìn)行深度強(qiáng)化學(xué)習(xí),現(xiàn)在提供一種用Python簡(jiǎn)單實(shí)現(xiàn)Cart Pole游戲的方法,感興趣的朋友跟隨小編一起看看吧2024-07-07