了解一下python內(nèi)建模塊collections
在使用Python的過程中,一定是離不開數(shù)據(jù)結(jié)構(gòu)的, 也就是List-列表,Tuples-元組,Dictionaries-字典。
那實(shí)際應(yīng)用中我們更多的還是要去操作這些結(jié)構(gòu)里的數(shù)據(jù)。比如,在列表后面添加元素,那么就會(huì)用到append() 方法。
那除了這些本身的操作方法之外,還有一個(gè)Python內(nèi)建模塊——collections,也提供了不少使用的方法,今天來捋一下。
一、Counter
這是一個(gè)計(jì)數(shù)器,我們可以用來方便的統(tǒng)計(jì)出一些元素出現(xiàn)的次數(shù),比如String、List、Tuples等等。
String
from collections import Counter c = Counter("HelloKitty") print(c) #運(yùn)行結(jié)果: Counter({'l': 2, 't': 2, 'H': 1, 'e': 1, 'o': 1, 'K': 1, 'i': 1, 'y': 1})
List
from collections import Counter c = Counter(["蘋果", "櫻桃", 1, 1, 4, 4, 5]) print(c) #運(yùn)行結(jié)果: Counter({1: 2, 4: 2, '蘋果': 1, '櫻桃': 1, 5: 1})
二、deque
我們很喜歡用list來存放數(shù)據(jù),因?yàn)榉浅5姆奖?。但是list的缺點(diǎn)也很明顯,如果你是按索引訪問元素就很快,但是插入和刪除元素就很慢。
當(dāng)然了,數(shù)據(jù)量小的時(shí)候肯定是感知不到的,只有當(dāng)數(shù)據(jù)量大的時(shí)候,你才會(huì)發(fā)現(xiàn)這個(gè)缺點(diǎn),因?yàn)閘ist是線性數(shù)據(jù)結(jié)構(gòu),比如插入這個(gè)動(dòng)作,需要把它后面的元素都挪一位。
deque除了實(shí)現(xiàn)list的append()和pop()外,還提供了appendleft()和popleft(),這樣的話我們可以很方便的向著列表的另一頭,進(jìn)行添加和移除操作了。
from collections import deque deque_list = deque(['a', 'b', 'c', 'd']) deque_list.append('蘋果') deque_list.appendleft('吃') print(deque_list) #運(yùn)行結(jié)果: deque(['吃', 'a', 'b', 'c', 'd', '蘋果'])
三、OrderedDict
使用Python,大家自然知道Dict字典中的key是無序的。那如果你想要保持key的順序的話,用OrderedDict即可。
from collections import OrderedDict list_a = [(1, "蘋果"), (2, "香蕉"), (3, "西瓜"), (4, "芒果")] order_dict = OrderedDict(list_a) print(order_dict) #運(yùn)行結(jié)果: D:\Daily λ python whatiscollections.py OrderedDict([(1, '蘋果'), (2, '香蕉'), (3, '西瓜'), (4, '芒果')])
如果有場(chǎng)景中需要使用到,可以試試這幾種用法。
以上就是了解一下python內(nèi)建模塊collections的詳細(xì)內(nèi)容,更多關(guān)于python collections的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 使用python將excel數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)過程詳解
- 用Python將Excel數(shù)據(jù)導(dǎo)入到SQL Server的例子
- Python制作數(shù)據(jù)導(dǎo)入導(dǎo)出工具
- Python使用xlrd模塊操作Excel數(shù)據(jù)導(dǎo)入的方法
- python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù))
- 淺談Python數(shù)學(xué)建模之線性規(guī)劃
- Python進(jìn)行統(tǒng)計(jì)建模
- python實(shí)現(xiàn)數(shù)據(jù)分析與建模
- Python創(chuàng)建模塊及模塊導(dǎo)入的方法
- 淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入
相關(guān)文章
python pymysql鏈接數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)為Dataframe實(shí)例
這篇文章主要介紹了python pymysql鏈接數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)為Dataframe實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python 字符串類型列表轉(zhuǎn)換成真正列表類型過程解析
這篇文章主要介紹了Python 字符串類型列表轉(zhuǎn)換成真正列表類型過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08將Python項(xiàng)目打包成exe并附帶下載功能的操作流程
這篇文章主要為大家詳細(xì)介紹了將Python項(xiàng)目打包成exe并附帶下載功能的操作流程,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下2023-12-12使用python實(shí)現(xiàn)壓縮PDF文件大小的方法
壓縮 PDF 文件能有效減小文件大小并提高文件傳輸?shù)男?同時(shí)還能節(jié)省計(jì)算機(jī)存儲(chǔ)空間,除了使用一些專業(yè)工具對(duì)PDF文件進(jìn)行壓縮,我們還可以通過 Python 來執(zhí)行該操作,本文將分享一個(gè)簡(jiǎn)單有效的使用 Python 壓縮 PDF 文件的方法,需要的朋友可以參考下2024-06-06Python錯(cuò)誤和異??偨Y(jié)詳細(xì)
本文詳細(xì)且清晰地講解了Python中錯(cuò)誤和異常的概念及其處理方式,通過具體案例展示try...except、try...finally、with...等句式的具體用法,期望能幫助到對(duì)此感到迷惑的初學(xué)者2021-10-10Pytest單元測(cè)試框架如何實(shí)現(xiàn)參數(shù)化
這篇文章主要介紹了Pytest單元測(cè)試框架如何實(shí)現(xiàn)參數(shù)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09python模擬投擲色子并數(shù)據(jù)可視化統(tǒng)計(jì)圖
這篇文章主要介紹了python模擬投擲色子并數(shù)據(jù)可視化統(tǒng)計(jì)圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07Python過濾掉numpy.array中非nan數(shù)據(jù)實(shí)例
這篇文章主要介紹了Python過濾掉numpy.array中非nan數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06