Python 入門之 內置模塊 -- collections模塊
1、collections -- 基于Python自帶的數據類型之上額外增加的幾個數據類型
from collections
? 在內置數據類型(dict、list、set、tuple)的基礎上,collections模塊還提供了幾個額外的數據類型:Counter、deque、defaultdict、namedtuple和OrderedDict以及判斷什么是可迭代對象什么是迭代器
(1)namedtuple 生成可以使用名字來訪問元素內容的tuple
from collections import namedtuple
limit = namedtuple("limit",["x","y"])
l = limit(1,2)
print(l.x)
print(l[0])
(2)deque 雙端隊列 ,可以快速的從另外一側追加和推出對象,適合用于隊列和棧
? 隊列:先進先出
? 棧:先進后出
from collections import deque
l = deque([1,2])
l.append(3)
l.appendleft(0)
l.pop()
l.popleft()
l.remove(2)
print(l)
(3)OrderedDict 有序字典 -- python2版本 ---python3.6默認顯示有序
from collections import OrderedDict
dic = OrderedDict(k=1,v=11,k1=111)
print(dic)
print(dic.get("k"))
dic.move_to_end("k")
(4)defaultdict 帶有默認值的字典
from collections import defaultdict
lst = [11,22,33,44,55,77,88,99]
dic = defaultdict(list)
for i in lst:
if i > 66:
dic['key1'].append(i)
else:
dic['key2'].append(i)
print(dict(dic))
(5)Counter 計數 返回一個字典
from collections import Counter
lst = [1,2,112,312,312,31,1,1,1231,23,123,1,1,1,12,32]
d = Counter(lst)
print(list(d.elements()))
print(dict(d))
(6)isinstance 判斷當前數據類型,返回的是一個布爾值
from collections import Iterable,Iterator
lst = [1,2,3,4]
print(isinstance(lst,list)) # 判斷lst是不是列表類型 返回的是True
print(isinstance(lst,Iterator)) # 判斷lst是不是迭代器 返回的是False
print(isinstance(lst,Iterable)) # 判斷lst是不是可迭代對象 返回的是True
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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