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快速查找算法应用实例
Sep 26 Python
python和ruby,我选谁?
Sep 13 Python
python3大文件解压和基本操作
Dec 15 Python
python时间序列按频率生成日期的方法
May 14 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
Python+OpenCv制作证件图片生成器的操作方法
Aug 21 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 Python
详解Python牛顿插值法
May 11 Python
python字符串拼接.join()和拆分.split()详解
Nov 23 Python
python缺失值填充方法示例代码
Dec 24 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设计模式 Factory(工厂模式)
2011/06/26 PHP
微信支付开发订单查询实例
2016/07/12 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Python通过select实现异步IO的方法
2015/06/04 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
历史学专业毕业生求职信
2013/09/27 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
办公室岗位职责
2014/02/12 职场文书
财务总监岗位职责
2014/03/07 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
农业项目投资意向书
2015/05/09 职场文书
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
Python日志模块logging用法
2022/06/05 Python
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers