瞭解一下python內建模組collections
阿新 • • 發佈:2020-09-09
在使用Python的過程中,一定是離不開資料結構的, 也就是List-列表,Tuples-元組,Dictionaries-字典。
那實際應用中我們更多的還是要去操作這些結構裡的資料。比如,在列表後面新增元素,那麼就會用到append() 方法。
那除了這些本身的操作方法之外,還有一個Python內建模組——collections,也提供了不少使用的方法,今天來捋一下。
一、Counter
這是一個計數器,我們可以用來方便的統計出一些元素出現的次數,比如String、List、Tuples等等。
String
from collections import Counter c = Counter("HelloKitty") print(c) #執行結果: 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,4,5]) print(c) #執行結果: Counter({1: 2,4: 2,'蘋果': 1,'櫻桃': 1,5: 1})
二、deque
我們很喜歡用list來存放資料,因為非常的方便。但是list的缺點也很明顯,如果你是按索引訪問元素就很快,但是插入和刪除元素就很慢。
當然了,資料量小的時候肯定是感知不到的,只有當資料量大的時候,你才會發現這個缺點,因為list是線性資料結構,比如插入這個動作,需要把它後面的元素都挪一位。
deque除了實現list的append()和pop()外,還提供了appendleft()和popleft(),這樣的話我們可以很方便的向著列表的另一頭,進行新增和移除操作了。
from collections import deque deque_list = deque(['a','b','c','d']) deque_list.append('蘋果') deque_list.appendleft('吃') print(deque_list) #執行結果: deque(['吃','a','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) #執行結果: D:\Daily λ python whatiscollections.py OrderedDict([(1,'蘋果'),'香蕉'),'西瓜'),'芒果')])
如果有場景中需要使用到,可以試試這幾種用法。
以上就是了解一下python內建模組collections的詳細內容,更多關於python collections的資料請關注我們其它相關文章!