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基于select实现的socket服务器
Apr 13 Python
python中私有函数调用方法解密
Apr 29 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
Python中的id()函数指的什么
Oct 17 Python
Python类的继承和多态代码详解
Dec 27 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
如何基于Python实现word文档重新排版
Sep 29 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
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
PyQt QCombobox设置行高的方法
2019/06/20 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
logging level级别介绍
2020/02/21 Python
python打包多类型文件的操作方法
2020/09/21 Python
python处理写入数据代码讲解
2020/10/22 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
华为慧通笔试题
2016/04/22 面试题
大四自我鉴定范文
2013/10/06 职场文书
文秘专业大学生求职信
2013/11/10 职场文书
教育局长自荐信范文
2013/12/22 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
2014年信访工作总结
2014/11/17 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
初三语文教学反思
2016/03/03 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS