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多线程(python多线程简明教程)
Jun 09 Python
Python开发常用的一些开源Package分享
Feb 14 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
python安装scipy的方法步骤
Jun 26 Python
Python画图高斯分布的示例
Jul 10 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
Python发送手机动态验证码代码实例
Feb 28 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
Python通过Pillow实现图片对比
Apr 29 Python
python3.7调试的实例方法
Jul 21 Python
Python使用requests模块爬取百度翻译
Aug 25 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
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
php 获取mysql数据库信息代码
2009/03/12 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
iconfont的三种使用方式详解
2018/08/05 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python中查看文件名和文件路径
2017/03/31 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
详解python配置虚拟环境
2019/04/08 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
台湾良兴购物网:EcLife
2019/12/01 全球购物
乡镇平安建设汇报材料
2014/08/25 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js