了解一下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 Counterc = 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 Counterc = 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姆奖恪5莑ist的缺點(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 dequedeque_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 OrderedDictlist_a = [(1, '蘋果'), (2, '香蕉'), (3, '西瓜'), (4, '芒果')]order_dict = OrderedDict(list_a)print(order_dict)#運(yùn)行結(jié)果:D:Dailyλ python whatiscollections.pyOrderedDict([(1, ’蘋果’), (2, ’香蕉’), (3, ’西瓜’), (4, ’芒果’)])
如果有場(chǎng)景中需要使用到,可以試試這幾種用法。
以上就是了解一下python內(nèi)建模塊collections的詳細(xì)內(nèi)容,更多關(guān)于python collections的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. el-input無法輸入的問題和表單驗(yàn)證失敗問題解決2. 不要在HTML中濫用div3. react腳手架配置代理的實(shí)現(xiàn)4. JavaScript中顏色模型的基礎(chǔ)知識(shí)與應(yīng)用詳解5. XML入門的常見問題(三)6. JavaScript快速實(shí)現(xiàn)一個(gè)顏色選擇器7. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)8. 前端html+css實(shí)現(xiàn)動(dòng)態(tài)生日快樂代碼9. Jquery使用原生AJAX方法請(qǐng)求數(shù)據(jù)10. React實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)hook組件實(shí)戰(zhàn)示例
