1. 程式人生 > >元組、列表和nametuple的區別

元組、列表和nametuple的區別

import collections

Person = collections.namedtuple('Person','name age gender')

print('type of person',type(Person))

# 建立物件
bob = Person(name='Bob',age=30,gender='male')
user = bob._make(['vvv',24,'male'])
print(user)
print(bob)

# 建立物件
Jane=Person(name='Jane',age=29,gender='female')
# 獲取使用者屬性
print(Jane.name)
# 修改物件屬性
jane = Jane._replace(age=10)
print(jane)
# 將物件轉換成字典
print(jane._asdict())

for people in [bob,Jane]:
    print("%s is %d years old %s" %people)

其中’Person’是這個namedtuple的名稱,後面的’name age gender’這個字串中三個用空格隔開的字元告訴我們,我們的這個namedtuple有三個元素,分別名為name,age和gender,Jane和bob是建立的物件,我們可以通過物件獲取裡面的屬性值。我們還可以通過list列表來建立物件,如:物件._mak()方法,修改物件屬性的方法是,物件._replace();物件._asdict()方法是將物件轉換成字典格式。