Python中的tuple大家应该都非常熟悉了。它可以存储一个Python对象序列。与list不同的是,你不能改变tuple中元素的值。tuple的元素是通过索引进行访问的:

Tuple还有一个兄弟,叫namedtuple。虽然都是tuple,但是功能更为强大。对于namedtuple,你不必再通过索引值进行访问,你可以把它看做一个字典通过名字进行访问,只不过其中的值是不能改变的。

为了构造一个namedtuple需要两个参数,分别是tuple的名字和其中域的名字。比如在上例中,tuple的名字是“Animal”,它包括三个域,分别是“name”、“age”和“type”。

Namedtuple比普通tuple具有更好的可读性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。但是有一点需要注意,就是namedtuple中的属性都是不可变的。任何尝试改变其属性值的操作都是非法的。

Namedtuple还有一个非常好的一点是,它与tuple是完全兼容的。也就是说,我们依然可以用索引去访问一个namedtuple。

转载自:https://baijiahao.baidu.com/s?id=1613589944704758634&wfr=spider&for=pc

Python进阶之路:namedtuple相关推荐

  1. Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)

    前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作效率,在sf社区内没 ...

  2. Python 进阶之路 (十二) 尾声即是开始

    Python进阶之路总结 大家好,我的<< Python进阶之路>>到这一期就到此为止了,和 <<Python 基础起步>>不同,在掌握了一些基础知识后 ...

  3. Python 进阶之路 (八) 最用心的推导式详解 (附简单实战及源码)

    什么是推导式 大家好,今天为大家带来问我最喜欢的Python推导式使用指南,让我们先来看看定义~ 推导式(comprehensions)是Python的一种独有特性,推导式是可以从一个数据序列构建另一 ...

  4. 毛毛Python进阶之路6——MySQL 数据库(二)

    毛毛Python进阶之路6--MySQL 数据库(二) 一.对于自增 show create table 表名; # 查看表是怎样创建的. show create table 表名\G; #将某个表旋 ...

  5. Python进阶之路第一话之python引力

    Python的魅力:我来引你中毒 我不想说一些Python是世界最好的编程语言之类的鬼话,在我看来,每一种编程语言都有他们各自擅长的领域和不擅长的领域.举个例子,我用一根针,来削铅笔,很费劲不能实现, ...

  6. 《正规军的Python进阶之路|Python技能树测评》

    通过<Python技能树测评>判断自己在哪个级别: Python技能树测评[https://bbs.csdn.net/skill/python] 完整的[Python]学习体系,给你正规军 ...

  7. Python进阶之路 3.4.2 条件语句(if、else和elif)

    3.4.2 条件语句(if.else和elif) 对于计算机程序来说,要学会第一项技能就是"判断",也就是根据不同的条件,执行不同的程序分支,这样的程序才有意义. if语句的作用就 ...

  8. Python 进阶之路 (五) map, filter, reduce, zip 一网打尽

    简洁的内置函数 大家好,我又回来了,今天我想和大家分享的是Python非常重要的几个内置函数:map,filter,reduce, zip. 它们都是处理序列的便捷函数.这很大程度上归功于函数式编程的 ...

  9. python进阶之路———文件处理

    文件打开 python中打开文件需要使用open()函数 对象=open("文件地址","打开模式") 打开后就要有close()函数关闭 file=open( ...

最新文章

  1. vmware 打开主页 打开所有库中的虚拟机
  2. 模拟layui弹出层
  3. 百练OJ:3865和2677:肿瘤检测
  4. UOJ #131 BZOJ 4199 luogu P2178【NOI2015】品酒大会 (后缀自动机、树形DP)
  5. 【Python爬虫】网络爬虫的“盗亦有道”
  6. console对象及js函数
  7. excel文件损坏修复绝招_电脑常识:电脑提示dll文件丢失/损坏,该怎么修复?...
  8. python的特性跨平台_VS 2015 的跨平台特性对 Qt 会带来多大的冲击呢?
  9. 文字绘制——pygame之旅
  10. 第十一届蓝桥杯校内赛/校内选拔赛(2020蓝桥杯校选3-java)部分解题思路
  11. XP仿Windows7主题包 不占内存的。
  12. gif图片解析与生成(GIF+文字动效)
  13. android11.0 Launcher3 高端定制之抽屉列表隐藏指定APP图标
  14. 图说slam(一):amcl定位算法主要流程概念图解
  15. 【LeetCode】971. Flip Binary Tree To Match Preorder Traversal
  16. android开发-验证邮箱输入是否合法
  17. conda错误this environment is insistent,please check the package plan carefully
  18. 【mysql or条件是否走索引】
  19. G003-181-01
  20. postgresql 数据库巡检

热门文章

  1. Python教程:hashlib加密
  2. python技巧:拆分多层嵌套列表
  3. 用python做一些excel的事情,实现数据自动化
  4. Python编码规范:IF中的多行条件
  5. Linux中增加软路由的两种方法,Linux中增加软路由的三种方法
  6. python sorted原理_Python sort()和sorted()
  7. VS cmake 远程开发 opencv报错:CMake was unable to find a build program corresponding to “Ninja“.(换个构建方式)
  8. Linux ubuntu16.04 卸载搜狗输入法(sogoupinyin)
  9. python PyQt5 QComboBox类(下拉列表框、组合下拉框)
  10. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(CSS字体,文本)