python常用內建模組 collections

2022-05-17 05:54:08 字數 1801 閱讀 9841

1.namedtuple

#namedtuple是乙個函式,它用來建立乙個自定義的tuple物件,並且規定了tuple元素的個數,並可以用屬性而不是索引來引用tuple的某個元素。

#這樣一來,我們用namedtuple可以很方便地定義一種資料型別,它具備tuple的不變性,又可以根據屬性來引用,使用十分方便。

from collections import namedtuple

point = namedtuple('point',['x','y'])

p = point(112.3451,35.3324)

print(p,':',p.x,',',p.y)

2.deque

3.defaultdict

#defaultdict,使用dict時,如果引用的key不存在,就會丟擲keyerror。如果希望key不存在時,返回乙個預設值,就可以用defaultdict

from collections import defaultdict

d = defaultdict(lambda :'n/a')

d['key1']=1

print(d['key1'])

print(d['key2'])

'''1

n/a'''

4.orderedict

#ordereddict使用dict時,key是無序的。在對dict做迭代時,我們無法確定key的順序。如果要保持key的順序,可以用ordereddict:

#ordereddict可以實現乙個fifo(先進先出)的dict,當容量超出限制時,先刪除最早新增的key:

from collections import ordereddict

class lastupdatedordereddict(ordereddict):

def __init__(self, capacity):

super(lastupdatedordereddict, self).__init__()

self._capacity = capacity

def __setitem__(self, key, value):

containskey = 1 if key in self else 0

if len(self) - containskey >= self._capacity:

last = self.popitem(last=false)

print('remove:', last)

if containskey:

del self[key]

print('set:', (key, value))

else:

print('add:', (key, value))

ordereddict.__setitem__(self, key, value)

5.counter

#counter是乙個簡單的計數器,例如,統計字元出現的個數:

from collections import counter

c = counter()

print(c)

print(type(c))

for ch in 'programing':

c[ch]=c[ch]+1

print(c)

'''counter()

counter()

'''

Python常用內建模組

base64是一種用64個字元來表示任意二進位制資料的方法。用記事本開啟exe jpg pdf這些檔案時,我們都會看到一大堆亂碼,因為二進位制檔案包含很多無法顯示和列印的字元,所以,如果要讓記事本這樣的文字處理軟體能處理二進位制資料,就需要乙個二進位製到字串的轉換方法。base64是一種最常見的二進...

python常用內建模組(五)

requests 一 collections 是python內建的乙個集合模組,提供了許多有用的集合類。namedtuple,是乙個函式,用來建立乙個自定義的tuple物件,格式 namedtuple 名稱 屬性list 例如 建立乙個座標為 1,2 的點 from collections impo...

Python 常用的內建模組

fsum 對整個序列求和 返回浮點數 print math.fsum 1,4.5,5,7 sum python內建求和 print sum 1,4,5,7 print math.fsum 1,4.5,5,7 math.modf 將乙個浮點數拆分為整數部分和小數部分組成元組 小數在前 整數在後 pri...