Python中namedtuple使用

Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型。相比与list,tuple中的元素不可修改,在映射中可以当键使用。tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问。可以将namedtuple理解为c中的struct结构,其首先将各个item命名,然后对每个item赋予数据。

from collections import namedtuple

# 定义一个namedtuple类型User,并包含name,sex和age属性
User = namedtuple('User', ['name', 'sex', 'age'])

# 创建一个User对象
user = User(name='quincy', sex='male', age=24)

# 通过一个list来创建User对象,需使用“_make”方法
user = User._make(['quincy', 'male', 24])

# 输出
print(user)
print(user.name, user.age, user.sex)

# 修改对象属性
user = user._replace(age=23)
print(user)

# 将对象转为字典

print(user._asdict())

参考: https://blog.csdn.net/kongxx/article/details/51553362 https://blog.csdn.net/helei001/article/details/52692128

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑泽君的专栏

java基础学习_反射、装饰模式、JDK新特性_day27总结

10220
来自专栏Android机动车

java内部存储简述

在实际项目中,会涉及到很多大量数据的访问,存储或者是计算,这个时候如果可以用合适的容器来存储这些数据,就会达到事半功倍的效果,也就是说,当你的程序遇到瓶颈的时候...

14930
来自专栏开发技术

排序之简单选择排序

  本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此;一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中...

11620
来自专栏C/C++基础

C++输入输出操作符重载

C++中输入操作符是>>,输出操作符是<<,又叫做流对象的“插入操作符”和“提取操作符“。其实这两个操作符最初是在C语言中用于整数的移位运算,到了C++中才利用...

9120
来自专栏JAVA技术站

shell学习五常用命令echo printf test

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:

9830
来自专栏swag code

多线程的实现方法

      从Thread类中实例化的对象即代表线程,启动一个线程就是建立一个Thread实例。因为完成线程真正功能的代码放在类的run()方法中,所以可以将线...

6720
来自专栏指尖下的Android

JNI之路径初探---6

本篇文章讲解JNI下属性的内存释放问题,众所周知,JAVA有四大引用,1,强引用2,弱引用3,软引用4,虚引用。JNI有三大引用,1,普通全局引用2,弱全局引用...

10020
来自专栏Crossin的编程教室

​Python 3 新特性:类型注解

我们知道 Python 是一种动态语言,变量以及函数的参数是不区分类型。因此我们定义函数只需要这样写就可以了:

29920
来自专栏java工会

JAVA 同步实现原理

Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:

6700
来自专栏软件开发 -- 分享 互助 成长

C/C++中static关键词的作用

1、在函数体内的static变量作用范围是该函数体,其只被内存分配一次,所以在下次调用的时候会保持上一次的值。 2、模块内的static全局变量可以被模块内的所...

19080

扫码关注云+社区

领取腾讯云代金券