使用collections中的namedtuple来处理数据

news/2024/10/8 4:33:54

前言

tuple在python中是一种不可变的数据结构,和list这种可变的数据结构比较,两者都可以使用索引来读取数值,但是tuple不可变动,因此其不能修改其中的值。
示例:

tuple适合存储不需要频繁变动的数据,但是在使用index来读取tuple中的item值时,就会存在问题,问题在于如果item太多时,甚至开发一段时间没有写注解,那么使用index读取就会变得很有问题,index可能就会是魔术数字(magic number),造成维护上的困难。

namedtuple是tuple的扩展,因为namedtuple可以通过字段(field)来读取数据,因此namedtuple更适合存储数据。

namedtuple使用方法

声明namedtuple需要给定两个参数,第一个是tuple的名称,第二个是tuple包含的字段名称。字段名称使用字符串格式带入所需要的字段。

以上示例tuple名称是Drink,字段名称是product,ice,sugar三个

直接从list转成namedtuple

直接从dict转成namedtuple

将namedtuple转为dict(此时dict为collection里面的OrderDict)

在已经存在的namedtuple基础上,新增新的namedtuple

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28147.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

JavaGUI - [04] BoxLayout

Swing编程题记部分 一、简介为了简化开发,Swing引入了一个新的布局管理器:BoxLayout。BoxLayout可以在垂直和水平两个方向上摆放GUI组件,BoxLayout提供了如下一个简单的构造器: BoxLayout(Container target,int axis)指定创建基于target容器的BoxLayout布局管理器,该布局管…

交换机基础及stp

一、交换机基础 交换机工作在数据链路层,转发数据帧,隔绝了以太网层的冲突域 1、泛洪未知单播泛洪 广播数据2、转发根据mac地址表进行转发 3、丢弃收到的arp请求中的目的mac地址是发起的接口,则会丢弃 二、stp(生成树协议) 环路引起广播风暴,网络中的主机会受到重复数据帧…

通过API触发airflow的DAG任务

背景 以前编写的DAG都是通过定时触发的,当前有一个场景需要通过手动提交API来触发,这样能够在用户需要的时候,主动触发执行任务,于是就有了这篇内容的摸索。 之前只知道airflow支持通过API来触发任务,但是具体如何操作是真不会,看了官方的API文档,也没找到具体方法,特别…

某塑料科技公司网络与机房监控运维项目

通过部署智和信通综合监控运维方案实时监控用户网络与机房内大量异构的交换机、路由器、服务器、AC/AP、数据库、防火墙、虚拟机、语音网关、硬盘录像机、行为管理等设备,及时发现并预警潜在问题,从而避免或减少故障带来的负面影响。 某塑料科技公司是由日本知名株式会…

ITIL4 服务价值系统(SVS):一场服务管理的革新之旅

在这个数字化时代,每一家企业都在追求高效的服务管理和卓越的客户体验。今天,我们就来聊一聊ITIL4中的服务价值系统(Service Value System, SVS)——一个让服务管理变得更加直观和高效的框架。 ITIL4服务价值系统:简明解读 SVS的核心理念非常朴素:一切始于客户需求,终于客…

[西湖论剑 2022]easy_api

源码审计 下载附件得war包,bandzip解压一下,审一下源码:这个没啥东西。反序列化入口,但是访问这里是需要绕过的:其实绕过也很简单,双斜杠就绕了:web.xml filter 绕过匹配访问(针对jetty)_jetty权限绕过-CSDN博客看lib里有啥依赖:fastjson1.2.48,这不老熟人了吗.....…

Linux 和 Windows11双系统安装

阅读目录 1.下载Linux系统 2. 制作Linux系统启动盘 3. 电脑分盘 4. 安装Ubuntu系统 5. 安装完成后可能遇到的黑屏问题解决 回到顶部 1.下载Linux系统 下载Linux系统的镜像文件,Linux系统有很多版本,Linux指的是系统内核,笔者下载的是Ubuntu系统,大家可以根据需要下载其他系…

深入解析CSS

层叠、优先级和继承 层叠层叠指的就是这一系列规则。 它决定了如何解决css样式规则冲突,是 CSS 语言的基础。 虽然有经验的开发人员对层叠有大体的了解,但是层叠里有些规则还是容易让人误解。当声明冲突时,层叠会依据三种条件解决冲突:样式表的来源:样式是从哪里来的,包括…