一、collections模塊
1.函數(shù)namedtuple
(1)作用:tuple類型,是一個可命名的tuple
(2)格式:collections(列表名稱,列表)
(3)?返回值:一個含有列表的類
(4)例子?:
import collections # help(collections.namedtuple) Point = collections.namedtuple("Point",['x','y']) p = Point(15,45) print(p.x+p.y) print(p[0]+p[1]) #支持索引等 #應(yīng)用舉例 Circle = collections.namedtuple('Circle',['x','y','r']) circle = Circle(14,15,45) propotion = circle[2]*circle[2]*3.141596 print("圓的面積為",propotion)
2.函數(shù)deque
(1)作用:比較方便的解決了頻繁刪除插入帶來的效率問題
(2)?格式:deque(列表)
(3)返回值:列表
(4)例子:
q = collections.deque(['a','b','c']) print(q) q.append('sada') q.appendleft('left') print(q) help(collections.deque)
3.函數(shù):defaultdict
(1)作用:當(dāng)讀取dict不存在的屬性時,會返回默認值
(2)格式:collections.defaultdict(函數(shù))
(3)?返回值:返回括號里的函數(shù)
(4)例子?:
我們定義一個字典,但是當(dāng)我們打印一個不存在的索引的時候,會報錯,因此我們在定義一個函數(shù),當(dāng)索引不存在的時候讓他返回這個函數(shù)。
這個類似于我們使用?:
try...except...這個關(guān)鍵字的用法
d1 = {"one":1,"two":2,"three":3} print("four") #上面的會報錯,下面的就會返回函數(shù),告訴我們錯了 func = lambda:"錯了" d2 = collections.defaultdict(func) d2['one']=1 d2['two']=2 print(d2['four'])
4.函數(shù)Couter
(1)作用:統(tǒng)計字符串的個數(shù)
(2)格式:collections.Counter()
(3)返回值:可迭代內(nèi)容的字典的Counter類
(4)例子:
list1 = collections.Counter("aaabbbccc") print(list1) list2 = collections.Counter(['abc','sad','sad','abc','abc','ffds']) print(list2)
(5)總結(jié)?:括號內(nèi)的內(nèi)容必須是可迭代的才可以進行統(tǒng)計,這里這兩個例子不一樣,第一個統(tǒng)計的時字符串的字母個數(shù),第二個統(tǒng)計的列表中的元素重復(fù)個數(shù),符合我們對可迭代的?理解。
二、源碼
d21_1_collections_module
地址:https://github.com/ruigege66/Python_learning/blob/master/d21_1_collections_module
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
