1 元组的拆包

  • 平行赋值
x, y = (12, 5)
  • * 号拆包

* 运算符把一个可迭代的对象拆开作为函数的参数

>>> t=divmod(20,8)
>>> t
(2, 4)
>>> t=(20,8)
>>> divmod(*t)
(2, 4)
>>> t=[20,8]
>>> divmod(*t)
(2, 4)
  • 用*来处理剩余的元素

在平行赋值中,*前缀只能用在一个变量名前面,但是这个变量可以出现在赋值表达式的任意位置

>>> a,b,*rest = range(5)
>>> a,b,rest
(0, 1, [2, 3, 4])>>> a,*middle,b = range(5)
>>> a,middle,b
(0, [1, 2, 3], 4)

2 具名元组

  • 创建具名元组
    实际上可以理解为创建一个没有操作方法的类
>>> from collections import namedtuple
>>> City = namedtuple('City', 'name country population coordinates')
>>> tokyo = City('Tokyo', 'JP', 36.933, (35.689722, 139.691667))
>>> tokyo
City(name='Tokyo', country='JP', population=36.933, coordinates=(35.689722, 139.691667))

创建的具名元组需要两个参数, 一个是类名, 另一个是类的各个字段的名字。后者可以由数个字符串组成的可迭代的对象,或者由空格分隔开的字段名组成的字符串。

元组的拆包和具名元组相关推荐

  1. python中元组拆包_Python 元组拆包和具名元组解析

    Python 元组拆包和具名元组解析 前言 在 Python 中元组是一个相较于其他语言比较特别的一个内置序列类型有些 python 入门教程把元组成为不可变的列表, 这种说法是不完备的, 其并没有完 ...

  2. python 元组拆包_Python元组拆包和具名元组解析实例详解

    前言 在Python中元组是一个相较于其他语言比较特别的一个内置序列类型.有些python入门教程把元组成为"不可变的列表",这种说法是不完备的,其并没有完整的概括元组的特点.除了 ...

  3. Python进阶4——元组与拆包

    元组不仅不可变,而且可以通过拆包(取出元组的某些元素)来显示某些信息 twodimpos=(10,20) x,y=twodimpos#拆包赋值 print(x,y) length, width, he ...

  4. namedtuple 具名元组详解

    1. 概述 namedtuple译作具名元组或命名元组 具名元组可以理解为元组的增强版本,它适用于任何普通元组的应用范围. 具名元组为元组中的每个元素都赋予了含义,从而增强代码可读性,能够让程序员写出 ...

  5. Python 3.7.1 中 namedtuple 具名元组基本用法详解

    Python 3.7.1 中 namedtuple 具名元组基本用法详解 转载请注明出处:https://blog.csdn.net/jpch89/article/details/84645251 文 ...

  6. 具名元组的使用方法总结

    具名元组 collections.namedtuple 首先元组支持拆包,通过*args的形式 >>>a, b, *test = range(5) >>>a, b, ...

  7. Python中的具名元组类用法

    >>> from collections import namedtuple >>> Point = namedtuple('Point', ['x', 'y', ...

  8. Python 具名元组

    具名元组collections.namedtuple是一个工厂函数, 可以用于构建一个带字段名的元组和一个有名字的类. 定义与使用具名元组 创建一个具名元组需要两个参数, 一个是类名, 一个是类的各字 ...

  9. 具名元组namedtuple

    具名元组namedtuple 因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,所以在这里引入了 collections.namedtuple 这个工厂函数, ...

最新文章

  1. 常见的内存泄漏原因及解决方法
  2. Qt解析XML及QTableWidget用法示例
  3. 专栏 | 基于 Jupyter 的特征工程手册:特征选择(五)
  4. 从本地上传项目到 github 以及从github 下载项目到本地环境
  5. 批量绑定(bulk binds):FOR循环与FORALL的性能比较
  6. java创建方法并引用_java – 创建非捕获方法引用,它将调用超类方法
  7. Python——三级菜单
  8. 新年快乐!这是份值得收藏的2017年AI与深度学习要点大全
  9. OSI七层网络结构图与TCP/IP五层网络结构图
  10. UVA490 Rotating Sentences【输入输出+水题】
  11. 常用网络命令解析及应用
  12. 微软全球副总裁洪小文:微软未来的三大战略
  13. 火车头采集器php,火车头采集器3.0采集图文教程
  14. chrome extensions 中的交互
  15. python扫描二维码输出内容_通过python扫描二维码/条形码并打印数据
  16. 劳易测BCB G40 H47 L030 - 条码带
  17. 【攀爬者系列】北冥神功之归并算法(十七式)
  18. 51单片机c语言学习感想,学习51单片机心得体会
  19. 华为防火墙配置基于源地址的策略路由
  20. vue -- 移动端(vant)更换头像剪切功能

热门文章

  1. 快手如何搭建一个好的数据指标体系?
  2. 浙大计算机学院郭庆,团队介绍
  3. 白杨SEO:谈谈我理解的品牌,个人与企业品牌的区别
  4. 服务器不显示NPC名字是什么情况,走进科学:一些不明显的服务器名字的由来
  5. Coredump-X: C++:std::terminate
  6. Apache Thrift 官方JAVA教程
  7. myet: 练习英语口语不错
  8. webRTC(十二):webrtc 传输速率控制
  9. 蓝牙技术|蓝牙在智能手表上的应用
  10. C#实现拉格朗日、牛顿、Hermite插值