Python中namedtuple使用

简介: Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型。相比与list,tuple中的元素不可修改,在映射中可以当键使用。tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问。可以将namedtuple理解为c中的struct结构,其首先将各个item命名,然后对每个item赋予数据。
from collections import namedtuple
# 定义一个namedtuple类型User,并包含name,sex和age属性
User = namedtuple('User', ['name', 'sex', 'age'])
# 创建一个User对象
user = User(name='quincy', sex='male', age=24)
# 通过一个list来创建User对象,需使用“_make”方法
user = User._make(['quincy', 'male', 24])
# 输出
print(user)
print(user.name, user.age, user.sex)
# 修改对象属性
user = user._replace(age=23)
print(user)
# 将对象转为字典
print(user._asdict())


参考:

https://blog.csdn.net/kongxx/article/details/51553362

https://blog.csdn.net/helei001/article/details/52692128


相关文章
|
2月前
|
测试技术 索引 Python
|
5月前
|
数据库 索引 Python
Python中collections模块的namedtuple具名元组:原理、应用与优势
在Python的`collections`模块中,`namedtuple`是一个用于创建具有名称属性的元组的工厂函数。它提供了一种更直观、更易于理解的方式来组织和访问数据。通过`namedtuple`,我们可以为元组的每个位置指定一个名字,从而使元组更加有意义和易于操作。本文将深入解析`namedtuple`的原理、使用方法以及它在实际应用中的优势。
|
算法 索引 Python
Python数据结构与算法(5)---namedtuple
Python数据结构与算法(5)---namedtuple
93 0
Python数据结构与算法(5)---namedtuple
|
Python
Python编程:namedtuple命名元组和dict字典相互转换
Python编程:namedtuple命名元组和dict字典相互转换
124 0
|
存储 Java 测试技术
python高级用法之命名元组namedtuple
namedtuple()是产生具有命名字段的元组的工厂函数,namedtuple 比普通tuple具有更好的可读性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。
python高级用法之命名元组namedtuple
|
Python 开发工具
Python defaultdict 模块和 namedtuple 模块
Python defaultdict 模块和 namedtuple 模块
1268 0
|
1天前
|
机器学习/深度学习 Linux Python
Python编程教学
Python教学
24 13
|
1天前
|
机器学习/深度学习 数据挖掘 开发者
探索Python编程:从基础到实战
【9月更文挑战第34天】在这篇文章中,我们将一起踏上Python编程的旅程。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基础语法开始,逐步深入到更复杂的主题,如面向对象编程和网络应用开发。我们还将探讨如何在实际项目中应用这些知识,以及如何通过持续学习和实践来提高你的编程技能。让我们一起探索Python的世界,发现它的无限可能!
|
2天前
|
机器学习/深度学习 人工智能 数据可视化
Python比较适合哪些场景的编程?
Python比较适合哪些场景的编程?
14 7
|
1天前
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
18 5
下一篇
无影云桌面