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处理json数据中的中文
Mar 06 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
编写Python脚本来获取Google搜索结果的示例
May 04 Python
简单介绍Python中的try和finally和with方法
May 05 Python
Django Highcharts制作图表
Aug 27 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Django时区详解
Jul 24 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
python实现xml转json文件的示例代码
Dec 30 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 随机生成10位字符代码
2009/03/26 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
js中数组Array的一些常用方法总结
2013/08/12 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
微信小程序 setData的使用方法详解
2017/04/20 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python复制文件到指定目录的实例
2018/04/27 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
python动态文本进度条的实例代码
2020/01/22 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
《在山的那边》教学反思
2014/02/23 职场文书
星级党支部申报材料
2014/05/31 职场文书
技校毕业生自荐信
2014/06/03 职场文书
党性教育心得体会
2014/09/03 职场文书
酒店宣传语大全
2015/07/13 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL