具名元组的使用方法总结

具名元组 collections.namedtuple

首先元组支持拆包,通过*args的形式

>>>a, b, *test = range(5)
>>>a, b, test
(0, 1, [2, 3, 4])

好的,那接下来,变量test已经有值了,毫无疑问test = [2, 3, 4]
但有时候我们可能需要取到test中某一个元素的值,例如2,当然我们可以选择列表切片,那有没有一种更好的办法呢?
这里就可以采用具名元组的方式,给test中的每一个字段命名。

import collections
>>>People = collections.namedtuple('Card', ['name', 'age'])
>>>xiaohong = People('xiaohong', '18')
>>>xiaohong
People(name='xiaohong', age='18')
>>>xiaohong.name
xiaohong
>>>xiaohong.age
18

说明:

1.创建具名元组需要两个参数,一个是类名,一个是类的各个字段的名字。后者可以是由数个字符串组成的可迭代对象。
2.存放在对应字段里的数据要以一串参数的形式传入到构造函数中
3.可以通过字段名和位置来获取一个字段的信息

属性和方法

# 获取类包含所有的字段名称
>>>Poeple._fields
('name', 'age')
>>>xiaoming = ('xiaoming', 19)
# _make接收一个可迭代对象来生成一个类的实例
>>>xiaoming = People._make(xiaoming)
# _asdict()是具名元组以collections.OrderedDict的形式返回,进行更有好的显示
>>>xiaoming._asdict()
OrderedDict([('name', 'xiaoming'), ('age', 19)])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值