python中把元组转换为namedtuple方法


Posted in Python onDecember 09, 2020

我们可以把表里每一个横行的数据,看成是不同的元组。在理解了这个概念后,昨天我们学了不少的namedtuple类,是否也能把元组转换成namedtuple呢?当然这是一个尝试,很多小伙伴平时使用的时候会很少用到,而且资料的搜集方面也比较难找。小编也搜集了很久才有收获,本篇就为大家带来元组在python中转换为namedtuple的方法。

之前我们了解了为什么使用namedtuple,现在该学习如何将常规元组和转换为namedtuple了。假设由于某种原因,有包含彩色RGBA值的实例。如果要将其转换为Color namedtuple,则可以按以下步骤进行:

>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha}
>>> Color(**c)
>>> Color(r=50, g=205, b=50, alpha=0)

我们可以利用该**结构将包解压缩dict为namedtuple。

元组类似于列表,是一个基于位置的有序对象集合,但是元组一旦创建之后就不能更改,因此列表中修改元素的操作对于元组都不适用。

使用()就可以创建元组,元素之间使用英文逗号,隔开。

num_tuple = (1, 2, 3)
string_tuple = ("a", )

如果我想从dict创建一个namedtupe,如何做?

>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha}
>>> Color = namedtuple("Color", c)
>>> Color(**c)
Color(r=50, g=205, b=50, alpha=0)

过将dict实例传递给namedtuple工厂函数,它将为你创建字段。然后,Color像上边的例子一样解压字典c,创建新实例。

运行代码后,就可以把元组转换为namedtuple了。

元组转换为namedtuple实例扩展:

在内部使用namedtuples,但我想保持与提供普通元组的用户的兼容性。

from collections import namedtuple
tuplePi=(1,3.14,"pi") #Normal tuple 
Record=namedtuple("MyNamedTuple", ["ID", "Value", "Name"])
namedE=Record(2, 2.79, "e") #Named tuple
namedPi=Record(tuplePi) #Error
TypeError: __new__() missing 2 required positional arguments: 'Value' and 'Name'
tuplePi.__class__=Record
TypeError: __class__ assignment: only for heap types

到此这篇关于python中把元组转换为namedtuple方法的文章就介绍到这了,更多相关元组在python中如何转换为namedtuple内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
python算法表示概念扫盲教程
Apr 13 Python
Python编写Windows Service服务程序
Jan 04 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python面向对象进阶学习
May 21 Python
vue学习笔记之动态组件和v-once指令简单示例
Feb 29 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
Python实现爬取并分析电商评论
Jun 19 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
python3 os进行嵌套操作的实例讲解
Nov 19 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 Python
python不同版本的_new_不同点总结
Dec 09 #Python
python中_del_还原数据的方法
Dec 09 #Python
call在Python中改进数列的实例讲解
Dec 09 #Python
python中的对数log函数表示及用法
Dec 09 #Python
如何利用python正则表达式匹配版本信息
Dec 09 #Python
python基于win32api实现键盘输入
Dec 09 #Python
用python实现一个简单的验证码
Dec 09 #Python
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
php 保留小数点
2009/04/21 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
js常用代码段收集
2011/10/28 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
loading动画特效小结
2017/01/22 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
Python 占位符的使用方法详解
2019/07/10 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
Django model class Meta原理解析
2020/11/14 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
高中生评语大全
2014/04/25 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
学生检讨书怎么写
2015/05/07 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书