python collection模塊中幾種數據結構(Counter、OrderedDict、namedtup)
collection模塊中有幾種數據結構我們可能用得到。
Counter是字典的子類,負責計數的一個字典,支持 + 加法 - 減法 & 求公共元素 | 求并集
print('Counter類型的應用') c = Counter("dengjingdong") #c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j': 1}) print("原始數據:",c) print("最多的兩個元素:",c.most_common(2))#輸出數量最多的元素 print("d的個數:",c['d'])#輸出d的個數 print(c.values())#輸出字典的value列表 print(sum(c.values()))#輸出總字符數 print(sorted(c.elements()))#將字典中的數據,按字典序排序 print('\n\n') """ #刪除所有d元素 del c['d'] b = Counter("dengxiaoxiao") #通過subtract函數刪除元素,元素個數可以變成負數。 c.subtract(b) """ """ 可以添加數據 b = Counter("qinghuabeida") c.update(b) """OrderedDict類型是一個有序的字典,它其實就是比普通字典多了一個順序。
print('OrderedDict類型的應用') dic = {} dic['a'] = 'A' dic['b'] = 'B' dic['c'] = 'C' odic = OrderedDict() odic['a'] = 'A' odic['b'] = 'B' odic['c'] = 'C' print('無序字典:',dic) print('有序字典:',odic) print('\n\n')
namedtup類型,一個類似于字典的元組,可以轉化為字典
print('namedtup類型的應用') deng = namedtuple('deng',['x','y']) i = deng(x = 11,y = 12) print('i的值為:', i ) print('將兩個值相加:',i[0]+i[1]) print('用屬性的方式相加:',i.x+i.y) m,n = i print('類似元組的賦值:',m,n) d = i._asdict() print('轉化為一個字典:',d)
本文由用戶 jphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!