91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

镇雄县| 台南市| 阳东县| 丹巴县| 林西县| 兰溪市| 巴里| 壶关县| 曲松县| 磐安县| 都兰县| 崇明县| 红原县| 闻喜县| 长兴县| 当阳市| 肃北| 揭西县| 房山区| 洛阳市| 鹿邑县| 贺兰县| 绿春县| 尼木县| 元江| 尼勒克县| 松江区| 昌黎县| 华坪县| 伊宁县| 浏阳市| 浮山县| 财经| 梓潼县| 万安县| 江源县| 霸州市| 蓬溪县| 阿巴嘎旗| 马尔康县| 南陵县|