python內建模塊collections的深入淺析?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在使用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, 1, 4, 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', '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) #運行結果: D:\Daily λ python whatiscollections.py OrderedDict([(1, '蘋果'), (2, '香蕉'), (3, '西瓜'), (4, '芒果')])
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。