1. 程式人生 > >python collection(1)之namedtuple模組的使用

python collection(1)之namedtuple模組的使用

#nametuple模組即是tuple的深入,繼承自tuple類

  • 可迭代
  • 通過索引訪問資料
  • 可迭代

(1) tuple的拆包

user_tuple = ("Body_1",20,100)
name,age,score  = user_tuple   #拆包操作
print(name,age,score)
列印結果:boddy 29 175

(2)拆包位置對應的屬性轉化為可變的

name,*other = user_tuple   #name -> "body_1",other ->[20,100]
print(name,other)
#列印結果:boddy [29, 175]
user_dict ={}
user_dict[user_tuple] ="10"
print(user_dict)
#列印結果: {('boddy', 19, 175): '10'}

namedtuple形式
(1) 通過元素屬性訪問元素

from collections import namedtuple
User = namedtuple("User",("name","age","height"))
user =User("boddy",19,175)
print(user.name,user.age,user.height)
#列印結果:boddy,19,175

(2)通過可變引數或者關鍵字引數訪問元素

#通過可變引數*args訪問元素
User = namedtuple("User",("name","age","height"))
user_tuple =("boddy",20,180)
user = User(*user_tuple)
#通過關鍵字引數**kwargs訪問元素
user_dict={
    "name" : "boddy",
    "age"  : 22,
    "height" :175
}
user =User(**user_dict)
#使用_make方法訪問元素,傳入的為元祖
user=User._make(user_tuple)