collections之namedtuple模块

from collections import namedtuple 

# 初始化需要两个参数,第一个是 name,第二个参数是所有元素名字的列表,也就是说:我们不仅仅可以使用索引来访问,还可以使用这里的别名来进行访问。
name_tuple = namedtuple('name_tuple', ['x', 'y', 'z'])

t1 = name_tuple(111, 222, 333)
print(t1.x)
print(t1[0])
print('====================')
print(t1.y)
print(t1[1])
print('====================')
print(t1.z)
print(t1.z)

结果:
111
111
====================
222
222
====================
333
333

# 比如创建学生的属性的数据结构,每一个对象是拥有三个元素的tuple。
student_info = [
 ('nan_bei', '20200318001', "", 17, '大一'),
 ('ju_hao', '20200318002', "", 18, '大一'),
 ('you_ke', '20200318003', "", 16, '大一')
]

student_attribute = namedtuple('student_attribute', ['name','student_id', 'sex', 'age', 'grade'])

for student in student_info:
    student_attr = student_attribute._make(student)
    print(student_attr.name, student_attr.student_id, student_attr.sex, student_attr.age, student_attr.grade)
    print(student_attr[0], student_attr[1], student_attr[2], student_attr[3], student_attr[4])
    print('====================')

结果:

nan_bei 20200318001 男 17 大一
nan_bei 20200318001 男 17 大一
====================
ju_hao 20200318002 男 18 大一
ju_hao 20200318002 男 18 大一
====================
you_ke 20200318003 女 16 大一
you_ke 20200318003 女 16 大一
====================

 

posted @ 2020-03-18 20:57  海澜时见鲸  阅读(220)  评论(0)    收藏  举报