Python Collections強大的數(shù)據(jù)結構工具使用實例探索
Python中的Collections模塊
Python的Collections模塊是一個非常有用的工具,它提供了許多有用的數(shù)據(jù)結構,例如Counter、OrderedDict、defaultdict、deque等,這些數(shù)據(jù)結構可以幫助我們在Python中更有效地處理數(shù)據(jù)。
Counter統(tǒng)計列表中每個元素出現(xiàn)的次數(shù)
Counter是一個字典子類,用于計數(shù)可哈希對象。它提供一個類似字典的接口,可以方便地對元素進行計數(shù)。例如,我們可以使用Counter來統(tǒng)計一個列表中每個元素出現(xiàn)的次數(shù):
from collections import Counter my_list = [1, 2, 3, 2, 1, 4, 5, 2, 1] counter = Counter(my_list) print(counter)
輸出:
Counter({1: 3, 2: 3, 3: 1, 4: 1, 5: 1})
可以看到,Counter自動統(tǒng)計了每個元素出現(xiàn)的次數(shù)。
OrderedDict來保存和獲取一個購物車中商品的順序
OrderedDict是一個有序字典類,它維護了字典元素的插入順序。與普通的字典相比,OrderedDict可以方便地獲取字典元素的順序。例如,我們可以使用OrderedDict來保存和獲取一個購物車中商品的順序:
from collections import OrderedDict cart = OrderedDict() cart['apple'] = 2 cart['banana'] = 3 cart['orange'] = 1 print(cart)
輸出:
OrderedDict([('apple', 2), ('banana', 3), ('orange', 1)])
可以看到,OrderedDict按照插入順序保存了字典元素。
defaultdict來創(chuàng)建一個計數(shù)器
defaultdict是一個字典子類,它允許我們指定一個默認值,當訪問不存在的鍵時,將返回該默認值。例如,我們可以使用defaultdict來創(chuàng)建一個計數(shù)器,初始值為0:
from collections import defaultdict counter = defaultdict(int) counter['apple'] += 1 counter['banana'] += 2 print(counter)
輸出:
Counter({'apple': 1, 'banana': 2})
可以看到,defaultdict自動將訪問不存在的鍵時的值初始化為0。
deque創(chuàng)建一個雙端隊列,并在兩端添加和刪除元素
deque是一個雙端隊列類,它可以在兩端添加和刪除元素。例如,我們可以使用deque來創(chuàng)建一個雙端隊列,并在兩端添加和刪除元素:
from collections import deque queue = deque() queue.append('apple') queue.append('banana') queue.appendleft('orange') print(queue) queue.pop() queue.popleft() print(queue)
以上就是Python Collections強大的數(shù)據(jù)結構工具使用實戰(zhàn)的詳細內(nèi)容,更多關于Python Collections數(shù)據(jù)結構的資料請關注腳本之家其它相關文章!
相關文章
python中閉包Closure函數(shù)作為返回值的方法示例
閉包(closure)是函數(shù)式編程的重要的語法結構,Python也支持這一特性,下面這篇文章主要給大家介紹了關于python中閉包Closure函數(shù)作為返回值的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。2017-12-12Python selenium+cookie實現(xiàn)免密登陸的示例代碼
本文主要介紹了Python selenium+cookie實現(xiàn)免密登陸的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02利用selenium 3.7和python3添加cookie模擬登陸的實現(xiàn)
這篇文章主要給大家介紹了關于利用selenium 3.7和python3添加cookie模擬登陸的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11Python startswith()和endswith() 方法原理解析
這篇文章主要介紹了Python startswith()和endswith() 方法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04Python 通過打碼平臺實現(xiàn)驗證碼的實現(xiàn)
這篇文章主要介紹了Python 通過打碼平臺實現(xiàn)驗證碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05