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和Scikit-Learn的机器学习探索
Oct 16 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
python实现俄罗斯方块
Jun 26 Python
python 平衡二叉树实现代码示例
Jul 07 Python
tensorflow 中对数组元素的操作方法
Jul 27 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
Django models.py应用实现过程详解
Jul 29 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 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的控制语句
2006/10/09 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
跟我学Laravel之路由
2014/10/15 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
python实现代码统计器
2019/09/19 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
为什么group by 和order by会使查询变慢
2014/05/16 面试题
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
企业内控岗位的职责
2014/02/07 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android