namedtuple 命名数组

博客介绍了Python模块中的一种容器类型,该类型元素不可修改,可在映射中当键使用。它不仅能通过索引访问,还能通过属性名称访问,且支持属性值修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

namedtuple 是 collections 模块中的一个容器类型。看名字,也带了 tuple,我们都知道 tuple 中的元素是不可以修改的,在映射中可以当键使用,而 namedtuple 不仅可以通过索引来访问,还可以通过属性名称来访问,同时还支持属性值的修改。

实例

from collections import namedtuple
# 定义一个namedtuple类型的Worker,列表中是它的属性
worker = namedtuple('worker',['name','sex','id','salary']
# 实例化对象
In [3]: w1 = Worker('alex', 'male', '001', '10000')

# 通过索引获取值
In [4]: w1[0]
Out[4]: 'alex'

# 通过名称获取值
In [5]: w1.salary
Out[5]: '10000'

In [6]: w1.name
Out[6]: 'alex' 

# 通过_make方法来实例化,参数是一个list
In [7]: w2 = Worker._make(['lily', 'female', '002', '11000'])

In [8]: w2.name
Out[8]: 'lily'

In [9]: w2.salary
Out[9]: '11000'

# 修改对象的属性
In [10]: w2._replace(salary='15000')
Out[10]: Worker(name='lily', sex='female', id='002', salary='15000')

In [11]: w1
Out[11]: Worker(name='alex', sex='male', id='001', salary='10000')

# 通过方法_asdict,可以转换成字典
In [12]: w1._asdict()
Out[12]: {'name': 'alex', 'sex': 'male', 'id': '001', 'salary': '10000'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperSpinach

动力源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值