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中return和print的一些理解
Aug 18 Python
python如何去除字符串中不想要的字符
Jul 05 Python
python实现最长公共子序列
May 22 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
用Python shell简化开发
Aug 08 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python 爬取京东指定商品评论并进行情感分析
May 27 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 Python
详解OpenCV获取高动态范围(HDR)成像
Apr 29 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
初级的用php写的采集程序
2007/03/16 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
js控制div及网页相关属性的代码
2009/12/19 Javascript
validator验证控件使用代码
2010/11/23 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
微信小程序url与token设置详解
2017/09/26 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
详解python如何引用包package
2020/06/07 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
领导班子三严三实对照检查材料
2014/09/25 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
服装店员工管理制度
2015/08/07 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js