Python的collections模块中namedtuple结构使用示例
作者:xrzs 时间:2022-06-01 19:59:42
namedtuple 就是命名的 tuple,比较像 C 语言中 struct。一般情况下的 tuple 是 (item1, item2, item3,...),所有的 item 都只能按照 index 访问,没有明确的称呼,而 namedtuple 就是事先把这些 item 命名,以后可以方便访问。
from collections import namedtuple
# 初始化需要两个参数,第一个是 name,第二个参数是所有 item 名字的列表。
coordinate = namedtuple('Coordinate', ['x', 'y'])
c = coordinate(10, 20)
# or
c = coordinate(x=10, y=20)
c.x == c[0]
c.y == c[1]
x, y = c
namedtuple 还提供了 _make 从 iterable 对象中创建新的实例:
coordinate._make([10,20])
再来举个栗子:
# -*- coding: utf-8 -*-
"""
比如我们用户拥有一个这样的数据结构,每一个对象是拥有三个元素的tuple。
使用namedtuple方法就可以方便的通过tuple来生成可读性更高也更好用的数据结构。
"""
from collections import namedtuple
websites = [
('Sohu', 'http://www.google.com/', u'张朝阳'),
('Sina', 'http://www.sina.com.cn/', u'王志东'),
('163', 'http://www.163.com/', u'丁磊')
]
Website = namedtuple('Website', ['name', 'url', 'founder'])
for website in websites:
website = Website._make(website)
print website
print website[0], website.url
结果:
Website(name='Sohu', url='http://www.google.com/', founder=u'\u5f20\u671d\u9633')
Sohu http://www.google.com/
Website(name='Sina', url='http://www.sina.com.cn/', founder=u'\u738b\u5fd7\u4e1c')
Sina http://www.sina.com.cn/
Website(name='163', url='http://www.163.com/', founder=u'\u4e01\u78ca')
163 http://www.163.com/
标签:Python,namedtuple
0
投稿
猜你喜欢
玩转python爬虫之URLError异常处理
2021-03-22 07:36:34
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2023-12-23 07:41:55
在vue.js中使用JSZip实现在前端解压文件的方法
2024-04-22 22:15:34
另外一种斜体的导航条
2008-11-05 12:24:00
pycharm使用技巧之自动调整代码格式总结
2021-08-28 08:13:18
mysql myisam 优化设置设置
2024-01-15 11:04:52
linux下通过go语言获得系统进程cpu使用情况的方法
2024-05-08 10:13:01
pytorch 数据处理:定义自己的数据集合实例
2021-09-11 06:10:21
SQLSERVER 本地查询更新操作远程数据库的代码
2024-01-21 05:16:47
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2023-04-11 22:56:09
一个20行左右的强$代码
2009-12-25 15:22:00
详解Python3 pandas.merge用法
2023-07-04 20:26:48
mysql主从库不同步问题解决方法
2024-01-26 03:57:19
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2023-10-06 12:13:03
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2022-12-26 18:01:16
javascript实现依次输入input自动定焦
2024-04-28 10:19:12
浅谈MySQL中的group by
2024-01-18 22:53:54
phpinfo 系统查看参数函数代码
2024-05-13 09:56:51
浅谈Pandas 排序之后索引的问题
2022-03-18 12:28:32
如何高效地访问记录集?
2009-11-22 19:25:00