中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中collections模塊如何使用

發布時間:2021-07-05 15:03:45 來源:億速云 閱讀:173 作者:Leah 欄目:大數據

Python中collections模塊如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

collections模塊是一個不用不知道,一用就上癮的模塊。因為它提供了幾種非常方便的數據結構和方法,在有些情況下特別好用。今天給大家總結一下其中的OrderDict和Counter兩個方法,在平時我經常用的方法,希望你也能喜歡它。然后還有比如deque,namedtuple,defaultdict等也是很有的方法,了解了以后重點是熟練的使用,靈活的應用到你的具體任務中,是需要掌握的。

1. OrderDict

# Example 1
dict_1 = dict()
dict_1['A'] = "I love machine learning".split(" ")
dict_1['B'] = "I love life too".split(" ")
dict_1['C'] = "which you like and which you like".split(" ")
print("先輸出字典:{}".format(dict_1))
for x, y in dict_1.items():
   print("然后遍歷字典:{}".format((x, y)))
print("dict_1 的類型: {}".format(type(dict_1)))

"""
先輸出字典:{'B': ['I', 'love', 'life', 'too'], 'C': ['which', 'you', 'like', 'and', 'which', 'you', 'like'], 'A': ['I', 'love', 'machine', 'learning']}
然后遍歷字典:('B', ['I', 'love', 'life', 'too'])
然后遍歷字典:('C', ['which', 'you', 'like', 'and', 'which', 'you', 'like'])
然后遍歷字典:('A', ['I', 'love', 'machine', 'learning'])
dict_1 的類型: <class 'dict'>
"""

多次執行上面這個程序,你會發現每次輸出的順序都是不一樣的,這就是字典的無序性。


from collections import OrderedDict

dict_2 = OrderedDict()

dict_2['A'] = list("machine")
dict_2['B'] = list("learning")
dict_2['C'] = list("math")
print("先輸出字典:{}".format(dict_2))

for k, v in dict_2.items():
   print("然后遍歷字典:{}".format((k, v)))
print("dict_2 的類型: {}".format(type(dict_2)))
"""
先輸出字典:OrderedDict([('A', ['m', 'a', 'c', 'h', 'i', 'n', 'e']), ('B', ['l', 'e', 'a', 'r', 'n', 'i', 'n', 'g']), ('C', ['m', 'a', 't', 'h'])])
然后遍歷字典:('A', ['m', 'a', 'c', 'h', 'i', 'n', 'e'])
然后遍歷字典:('B', ['l', 'e', 'a', 'r', 'n', 'i', 'n', 'g'])
然后遍歷字典:('C', ['m', 'a', 't', 'h'])
dict_2 的類型: <class 'collections.OrderedDict'>
"""

多次執行上面這個程序,你會發現每次輸出的key都是按照A, B, C順序輸出的。

2. Counter

Counter 是一個統計方法,可以統計頻率,比如詞頻等。看個栗子


# Example 2
from collections import Counter

list_1 = list("machine learning and math")

fre = Counter(list_1)
print(fre)
"""
Counter({'n': 4, 'a': 4, ' ': 3, 'm': 2, 'e': 2, 'i': 2, 'h': 2, 'l': 1, 'c': 1, 'g': 1, 't': 1, 'd': 1, 'r': 1})
"""
for f, v in fre.most_common(n=5):
   print("出現次數最多的5個:{}".format((f, v)))
"""
出現次數最多的5個:('n', 4)
出現次數最多的5個:('a', 4)
出現次數最多的5個:(' ', 3)
出現次數最多的5個:('h', 2)
出現次數最多的5個:('e', 2)
"""

然后舉個詞頻統計的小栗子

詞頻統計就是對于一段文本來說,首先做分詞,分詞之后統計每個詞語出現的次數。今天用jieba分詞來做一下,句子摘自朱自清的《荷塘月色》。

直接上代碼

import jieba

test_str = "路上只我一個人,背著手踱著。這一片天地好像是我的;我也像超出了平常的自己," \
          "到了另一個世界里。我愛熱鬧,也愛冷靜;愛群居,也愛獨處。像今晚上,一個人在這" \
          "蒼茫的月下,什么都可以想,什么都可以不想,便覺是個自由的人。白天里一定要做的事," \
          ",現 在都可不理。這是獨處的妙處,我且受用這無邊的荷香月色好了。"

test_str_cut = jieba.lcut(test_str)
word_freq = Counter(test_str_cut)
for w, f in word_freq.most_common(10):
   print(w, f)
"""
的 7
我 5
這 4
愛 4
了 3
也 3
一個 3
都 3
獨處 2
"""

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辰溪县| 台湾省| 花莲县| 逊克县| 获嘉县| 井陉县| 新闻| 庆元县| 镇安县| 新安县| 察隅县| 土默特右旗| 陇西县| 镇江市| 安陆市| 凤凰县| 新蔡县| 蓬安县| 渝中区| 五原县| 巴林左旗| 江阴市| 如皋市| 康平县| 休宁县| 平泉县| 志丹县| 新密市| 淮北市| 太白县| 奉贤区| 习水县| 鄂托克旗| 年辖:市辖区| 乌鲁木齐县| 临邑县| 佛坪县| 老河口市| 玉屏| 抚远县| 台前县|