Python的collections模块中namedtuple结构使用示例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
from collections import namedtuple# 初始化需要两个参数,第一个是 name,第二个参数是所有 item 名字的列表。coordinate = namedtuple('Coordinate', ['x', 'y'])c = coordinate(10, 20)# orc = coordinate(x=10, y=20)c.x == c[0]c.y == c[1]x, y = c |
namedtuple 还提供了 _make 从 iterable 对象中创建新的实例:
|
1
|
coordinate._make([10,20]) |
再来举个栗子:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# -*- coding: utf-8 -*-"""比如我们用户拥有一个这样的数据结构,每一个对象是拥有三个元素的tuple。使用namedtuple方法就可以方便的通过tuple来生成可读性更高也更好用的数据结构。"""from collections import namedtuplewebsites = []Website = namedtuple('Website', ['name', 'url', 'founder'])for website in websites: website = Website._make(website) print website print website[0], website.url |
结果:
|
1
2
3
4
5
6
|
Website(name='Sohu', url='http://www.google.com/', founder=u'\u5f20\u671d\u9633')Website(name='Sina', url='http://www.sina.com.cn/', founder=u'\u738b\u5fd7\u4e1c')Website(name='163', url='http://www.163.com/', founder=u'\u4e01\u78ca') |
Python的collections模块中namedtuple结构使用示例的更多相关文章
- Python的collections模块中的OrderedDict有序字典
如同这个数据结构的名称所说的那样,它记录了每个键值对添加的顺序. ? 1 2 3 4 5 6 d = OrderedDict() d['a'] = 1 d['b'] = 10 d['c'] = 8 f ...
- python之collections模块(OrderDict,defaultdict)
前言: import collections print([name for name in dir(collections) if not name.startswith("_" ...
- [PY3]——合并多个字典或映射(collections模块中的ChainMap 类)
问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在. 解决方案 使用 collections 模块中的 ChainMap 类 Cha ...
- Python使用functools模块中的partial函数生成偏函数
所谓偏函数即是规定了固定参数的函数,在函数式编程中我们经常可以用到,这里我们就来看一下Python使用functools模块中的partial函数生成偏函数的方法 python 中提供一种用于对函数固 ...
- 【转】在Python的struct模块中进行数据格式转换的方法
这篇文章主要介绍了在Python的struct模块中进行数据格式转换的方法,文中还给出了C语言和Python语言的数据类型比较,需要的朋友可以参考下 Python是一门非常简洁的语言,对于数据类型的表 ...
- Python基于socket模块实现UDP通信功能示例
Python基于socket模块实现UDP通信功能示例 本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 import ...
- python 之 Collections模块
官方文档:https://yiyibooks.cn/xx/python_352/library/collections.html 参考: https://blog.csdn.net/songfreem ...
- python的Collections 模块
Collections 模块 知识点 Counter 类 defaultdict 类 namedtuple 类 在这个实验我们会学习 Collections 模块.这个模块实现了一些很好的数据结构,它 ...
- 【python】collections模块(有序字典,计数器,双向队列)
collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上 ...
随机推荐
- HDU 4970
http://acm.hdu.edu.cn/showproblem.php?pid=4970 比赛的时候线段树水过的,比赛后线段树一直T,看了下正解真的是智商压制 题意:走直线,长度1-N,还有一些人 ...
- opencv-python教程学习系列9-程序性能检测及优化
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍程序性能检测及优化,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环 ...
- 在VM上安装centOS后的网络配置
花了点时间,研究了下VM上的linux虚拟机的网络配置问题.1.环境主机:winXP SP2,家庭宽带,局域网连到路由器,ip地址为192.168.1.101. 虚拟机:centOS(redhat l ...
- LG3377 【模板】左偏树(可并堆)
好博客 1 2 上面那个用数组写的跑的快,且便于封装,就用他的代码了. 代码 #include<cstdlib> #include<cstdio> #include<cm ...
- Linux修改开机启动logo
默认开机LOGO会在液晶屏的左上脚显示一只小企鹅,分辨率为80*80,具体在kernel/drivers/video/logo下会有logo_linux_clut224.ppm这幅图像,程序会根据这幅 ...
- socat 广播以及多播
官方文档有一个关于组播,多播的例子挺不错,记录下 多播客户端以及服务器 注意地址修改为自己的网络 server socat UDP4-RECVFROM:6666,ip-add-membership=2 ...
- pipelinedb continuous view 操作
continuous view 是 pipelinedb的核心,类似一个view,但是数据是合并了stream以及table的数据输入数据,并且是 实时根据输入数据进行更新的 语法 CREATE CO ...
- 关于发现宇宙微波背景(CMB)辐射的一则趣闻
请看下图: 上图是发现宇宙存在微波背景(CMB)的样子有点怪异的射电望远镜(口径5米,即Holmdel horn antenna天线).该天线具有较好的抗干扰的性能, ...
- 消息队列在VB.NET数据库开发中的应用
我们先简单的了解一下什么是消息队列(MSMQ)?消息队列是 Windows 2000(NT也有MSMQ,WIN95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于 ...
- JS 中 this 的用法
this是JavaScript语言中的一个关键字 他是函数运行时,在函数体内部自动生成的一个对象, 只能在函数体内部使用. 在不同function中, this有不同的值. 1. 纯粹的函数调用. f ...