collections 資料型別擴充套件模組

2022-04-25 07:54:49 字數 1565 閱讀 9746

1.有序字典:   在python3.6以後字典自動變成有序了,但是3.6版本之前的還需要用到

ordereddict: 有序字典,增加的鍵值對會依次在後面新增

from collections import

ordereddict

od = ordereddict([("

a",1),("

b",2),("

c",3)])

print(od) #

ordereddict([('a', 1), ('b', 2), ('c', 3)])

od["

d"]= 4od["e

"]= 5

print(od) #

ordereddict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])

2.帶預設值的字典  defaultdict

新增加的鍵,預設值是相同的,可對預設值(value)進行更改,操作與字典操作一樣

from collections import

defaultdict

values = [11, 22, 33,44,55,66,77,88,99,90]

dic =defaultdict(list)

for i in

values:

if i > 66:

dic["k1

"

else

: dic["k2

"print(dic) #

defaultdict(, )

3.counter   計數器

counter類的目的是用來跟蹤值出現的次數。它是乙個無序的容器型別,以字典的鍵值對形式儲存,其中元素作為key,其計數作為value。計數值可以是任意的interger(包括0和負數)。counter類和其他語言的bags或multisets很相似。

c = counter('

abcdeabcdabcaba')

print

c輸出:counter()

詳細:4.deque:雙端佇列   可以快速的從另外一側追加或者退出物件

作用:為了高效的實現插入和刪除操作的雙向列表,適合佇列和棧

5.namedtuple   可命名元組

#

from collections import namedtuple

#birth = namedtuple('struct_time',['year','month','day'])

#b1 = birth(2018,9,5)

#print(type(b1))

#print(b1.year)

#print(b1.month)

#print(b1.day)

#print(b1)

#可命名元組非常類似乙個只有屬性沒有方法的類

#['year','month','day']是物件屬性名

#struct_time是類 的名字

#這個類最大的特點就是一旦例項化 不能修改屬性的值

資料型別基礎資料型別

資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...

資料型別 基本資料型別和引用資料型別

一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...

SQL 資料型別 MySQL 資料型別

在 mysql 中,有三種主要的型別 文字 數字和日期 時間型別。資料型別 描述char size 儲存固定長度的字串 可包含字母 數字以及特殊字元 在括號中指定字串的長度。最多 255 個字元。varchar size 儲存可變長度的字串 可包含字母 數字以及特殊字元 在括號中指定字串的最大長度。...