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选择排序算法实例总结
Jul 01 Python
Python验证文件是否可读写代码分享
Dec 11 Python
python代码实现ID3决策树算法
Dec 20 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
Python补齐字符串长度的实例
Nov 15 Python
pytorch 可视化feature map的示例代码
Aug 20 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
Python map及filter函数使用方法解析
Aug 06 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
基于Python实现天天酷跑功能
Jan 06 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菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
js中哈希表的几种用法总结
2014/01/28 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
原生js实现随机点名
2020/07/05 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
《识字五》教学反思
2014/03/01 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
婚前协议书范本
2014/10/27 职场文书
计划生育工作总结2015
2015/04/03 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
离婚案件原告代理词
2015/05/23 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python