1. 程式人生 > 程式設計 >python collections模組的使用

python collections模組的使用

collections模組

  collections模組:提供一些python八大型別以外的資料型別

  python預設八大資料型別:

    - 整型

    - 浮點型

    - 字串

    - 字典

    - 列表

    - 元組

    - 集合

    - 布林型別

1、具名元組

  具名元組只是一個名字

  應用場景:

    ① 座標

# 應用:座標
from collections import namedtuple

# 將"座標"變成"物件"的名字
# 傳入可迭代物件必須是有序的
point = namedtuple("座標",["x","y","z"])  # 第二個引數既可以傳可迭代物件
# point = namedtuple("座標","x y z")  # 也可以傳字串,但是字串之間以空格隔開
p = point(1,2,5)  # 注意元素的個數必須跟namedtuple中傳入的可迭代物件裡面的值數量一致

# 會將1 --> x , 2 --> y , 5 --> z
print(p)
print(p.x)
print(p.y)
print(p.z)

執行結果:

座標(x=1,y=2,z=5)
1
2
5

  ② 撲克牌

# 撲克牌
from collections import namedtuple

# 獲取撲克牌物件
card = namedtuple("撲克牌","color number")

# 產生一張張撲克牌
red_A = card("紅桃","A")
print(red_A)
black_K = card("黑桃","K")
print(black_K)

  執行結果:

撲克牌(color='紅桃',number='A')
撲克牌(color='黑桃',number='K')

  ③ 個人資訊

# 個人的資訊
from collections import namedtuple

p = namedtuple("china","city name age")

ty = p("TB","ty","31")
print(ty)

  執行結果:

china(city='TB',name='ty',age='31')

2、有序字典

  python中字典預設是無序的

  collections中提供了有序的字典: from collections import OrderedDict

# python預設無序字典
dict1 = dict({"x": 1,"y": 2,"z": 3})
print(dict1,"  ------>  無序字典")
print(dict1.get("x"))


# 使用collections模組列印有序字典
from collections import OrderedDict

order_dict = OrderedDict({"x": 1,"z": 3})
print(order_dict,"  ------>  有序字典")
print(order_dict.get("x"))  # 與字典取值一樣,使用.get()可以取值
print(order_dict["x"])  # 與字典取值一樣,使用key也可以取值
print(order_dict.get("y"))
print(order_dict["y"])
print(order_dict.get("z"))
print(order_dict["z"])

  執行結果:

{'x': 1,'y': 2,'z': 3}  ------>  無序字典
1
OrderedDict([('x',1),('y',2),('z',3)])  ------>  有序字典
1
1
2
2
3
3

以上就是python collections模組的使用的詳細內容,更多關於python collections模組的資料請關注我們其它相關文章!