中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的模塊collections怎么使用

發布時間:2022-05-27 09:31:59 來源:億速云 閱讀:128 作者:zzz 欄目:大數據

本篇內容介紹了“Python的模塊collections怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.創建升級版的元組--namedtupe

Python的元組(1,2,3)具有不可變性,但是單獨的元組在無法滿足現有需求時,可以使用升級版的元組,使用namedtupe可以很方便地定義一種數據類型,它具備tuple的不變性,又可以根據屬性來引用,使用十分方便。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = "問道編程"

__date__ = "2019/03/18 12:37"

from collections import namedtuple

Point = namedtuple('Ponit', ['x', 'y'])  # 實例化一個tupe對象,并規定了對象數量以及屬性:x、y

p = Point(1,3)   # 賦值

print(p.x)   # 通過屬性訪問數據

print(p.y)

2.創建升級版的列表--deque

使用list存儲數據時,可以非常方便的進行查詢和尾部操作(append、pop),但是在頭部添加、刪除時效率很低(最大時間復雜度為n),所以有了deque,可以實現高效的頭、尾的操作,適合用于隊列和棧:

from collections import deque

q = deque([1,2,3])

q.append(6)   # [1,2,3,6]  同list一樣進行尾部添加、刪除操作

q.pop() # [1,2,3]

q.appendleft('x')  # ['x',1,2,3]  頭部添加

q.popleft()  # [1,2,3]  頭部刪除

3.創建升級版字典--defaultdict

常用的dict使用鍵值對存儲數據,但當使用key訪問匹配的值,而key不存在時會報錯,而使用defaultdict可以規定一個默認值,當使用不存在的key查詢字典的值時,會返回一個指定的默認值:

from collections import defaultdict

d = defaultdict(lambda: 'N/A')   # 創建defaultdict對象,是字典類型的子集,并規矩默認值是   N/A

d['a'] = 1

print(d['a'])  # 1   正常輸出

print(d['b'])  # N/A key不存在時,輸出默認值

4.創建有順序的字典--OrderedDict

常用的dict是不記錄鍵值對順序的,使用OrderedDict可以創建相對有序的字典,該類型可記錄字典的輸入順序,但不能自動進行排序:

from collections import OrderedDict

d = OrderedDict()

d['a'] = 1

d['b'] = 2

print(d.keys())  # ['a','b'] 會按照key值的錄入順序進行打印

5.創建多個字典的映射--ChainMap

官方解釋:一個 ChainMap 類是為了將多個映射快速的鏈接到一起,這樣它們就可以作為一個單元處理。它通常比創建一個新字典和多次調用 update() 要快很多。

通俗的說,是創建一將多個字典鏈接到一起的映射,底層通過list實現,查詢時,從第一個字典映射開始查,如果第一個字典沒有,查詢第二個,依次類推,但是更新、刪除數據時僅對于第一個字典映射操作。

通常在進行拼接命令行時,可以對參數進行優先選擇,比如用戶輸入數據、環境傳入、默認值。

參考:https://docs.python.org/zh-cn/3/library/collections.html

6.功能強大的列表計數功能--Counter

from collections import Counter

arr = [1,2,3,3,3,6,2,2,2]  # 1出現1次,2出現4次,3出現3次,6出現1次

print(arr.count(3))   # 3  可以使用list的count方法獲取指定值的出現次數

cou = Counter(arr)

pirnt(cou)  # Counter({3: 3, 2: 2, 1: 1, 5: 1, 6: 1})  屬于字典的子集

for k,v in cou.items():

    print(k,v)       # 對Counter進行遍歷,打印結果

print(cou.most_common(2)) # [(3,3),(2,2)]  返回出現次數最高的前兩個數字及次數

“Python的模塊collections怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中阳县| 尖扎县| 城口县| 务川| 平泉县| 开化县| 阳谷县| 江陵县| 抚州市| 中卫市| 都匀市| 宝清县| 贺兰县| 海林市| 亚东县| 时尚| 漯河市| 楚雄市| 健康| 龙口市| 甘洛县| 棋牌| 伊通| 泊头市| 平山县| 砀山县| 博罗县| 东兰县| 祁阳县| 巨野县| 包头市| 斗六市| 水城县| 子洲县| 临清市| 翼城县| 宝鸡市| 若羌县| 万安县| 峡江县| 名山县|