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地址的示例
Nov 09 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
Python安装whl文件过程图解
Feb 18 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
Python学习之异常中的finally使用详解
Mar 16 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
JS高级运动实例分析
2016/12/20 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
Promise扫盲贴
2019/06/24 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Python 命令行参数sys.argv
2008/09/06 Python
Python中获取对象信息的方法
2015/04/27 Python
Python学习思维导图(必看篇)
2017/06/26 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python中metaclass原理与用法详解
2019/06/25 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Django 重写用户模型的实现
2019/07/29 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python tornado使用流生成图片的例子
2019/11/18 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
打架检讨书100字
2014/01/08 职场文书
高考学习决心书
2015/02/04 职场文书
关于倡议书的范文
2015/04/29 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android