python collections模塊示例詳解
collections
模塊是Python
標(biāo)準(zhǔn)庫中的一個模塊,提供了一些有用的數(shù)據(jù)結(jié)構(gòu),用于擴(kuò)展內(nèi)置的數(shù)據(jù)類型。
collections
模塊包含以下幾個重要的數(shù)據(jù)結(jié)構(gòu):
OrderedDict
:有序字典,以插入的順序保存元素。可以按照添加的順序遍歷字典。defaultdict
:默認(rèn)字典,當(dāng)訪問不存在的鍵時,會返回一個默認(rèn)值,而不會拋出KeyError
異常。Counter
:計數(shù)器,用于統(tǒng)計可哈希對象的頻率??梢钥焖儆嬎阋粋€序列中每個元素出現(xiàn)的次數(shù)。deque
:雙端隊(duì)列,可以在兩端高效地添加和刪除元素。比列表的操作更快,并且支持線程安全的操作。namedtuple
:命名元組,可以創(chuàng)建一個具有命名字段的元組類。可以通過字段名訪問元組的元素,而不是使用索引。
這些數(shù)據(jù)結(jié)構(gòu)在不同的場景下非常有用,可以提供更高效的數(shù)據(jù)操作和更方便的數(shù)據(jù)訪問方式??梢愿鶕?jù)具體需求選擇合適的數(shù)據(jù)結(jié)構(gòu)來提升代碼的性能和可讀性。
示例代碼
Counter
(計數(shù)器)Counter
類是一個簡單的計數(shù)器,可以用于統(tǒng)計可哈希對象的出現(xiàn)次數(shù)。
from collections import Counter words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'] word_count = Counter(words) print(word_count) # 輸出:Counter({'apple': 3, 'banana': 2, 'orange': 1}) print(word_count['apple']) # 輸出:3 print(word_count['banana']) # 輸出:2 print(word_count['grape']) # 輸出:0
defaultdict
(默認(rèn)字典)defaultdict
類是一個字典,它提供了一個默認(rèn)值,當(dāng)訪問不存在的鍵時返回指定的默認(rèn)值。
from collections import defaultdict fruit_dict = defaultdict(int) fruit_dict['apple'] += 1 fruit_dict['banana'] += 2 print(fruit_dict) # 輸出:defaultdict(<class 'int'>, {'apple': 1, 'banana': 2}) print(fruit_dict['apple']) # 輸出:1 print(fruit_dict['orange']) # 輸出:0(int類型的默認(rèn)值)
deque
(雙端隊(duì)列)deque
類是一個雙端隊(duì)列,支持從隊(duì)列的兩端進(jìn)行操作。
from collections import deque queue = deque(['apple', 'banana', 'orange']) queue.append('grape') # 在隊(duì)列末尾添加元素 queue.appendleft('melon') # 在隊(duì)列頭部添加元素 print(queue) # 輸出:deque(['melon', 'apple', 'banana', 'orange', 'grape']) queue.pop() # 移除隊(duì)列末尾的元素 queue.popleft() # 移除隊(duì)列頭部的元素 print(queue) # 輸出:deque(['apple', 'banana', 'orange'])
這只是collections
模塊中的幾個類和它們的示例,還有其他一些類和方法可以在需要時進(jìn)一步探索和使用。
到此這篇關(guān)于python collections模塊詳解的文章就介紹到這了,更多相關(guān)python collections模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)據(jù)處理實(shí)戰(zhàn)(必看篇)
下面小編就為大家?guī)硪黄猵ython數(shù)據(jù)處理實(shí)戰(zhàn)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06詳解使用Pytorch Geometric實(shí)現(xiàn)GraphSAGE模型
這篇文章主要為大家介紹了詳解使用Pytorch Geometric實(shí)現(xiàn)GraphSAGE模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe)
這篇文章主要介紹了詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-07-07Python爬取網(wǎng)站圖片并保存的實(shí)現(xiàn)示例
這篇文章主要介紹了Python爬取網(wǎng)站圖片并保存的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02