Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

Python 3.5增加了对PEP 448中unpack泛化的更多支持。根据PEP,它增加了* 序列unpack运算符的扩展用法和**字典unpack运算符,以允许在更多位置,任意次数和在其他情况下unpack。这意味着我们现在可以调用具有任意数量的unpack函数。让我们来看看一个dict()例子:

有趣的是,如果key不是字符串,unpack不工作:

更新:我的一个读者很快指出,这不起作用的原因是因为我试图unpack成一个函数调用(即dict())。如果我使用只是dict语法解压缩,整数键将工作正常。我的意思表达如下:

另一个有趣的变化是dict unpack后面的值将永远覆盖先前的。在PEP中有一个很好的例子,证明了这一点:

我认为这是很整洁。你可以使用ChainMap从collections模块做同样的事情,但这种方法更加简单一点。

然而,这个新的unpack也适用于元组和列表。让我们尝试将不同类型的一些项目组合成一个列表:

在这次unpack更新之前,你需要这样做:

我认为在这些情况下新的语法实际上是非常方便的。我实际上在Python 2遇到了这种情况一两次,这个新增功能将是非常有用的。

总结

在PEP 448中有很多其他的例子,在Python的解释器中阅读和尝试是非常有趣的。 我强烈建议看看它,并且试一试。 我希望当我们最终迁移到Python 3时在我的新代码中开始使用这些功能。英文原文:http://www.blog.pythonlibrary.org/2017/02/21/python-3-unpacking-generalizations/

译者:shizhaou

python unpack_Python 3-unpack泛化相关推荐

  1. python中struct.unpack的用法

    python中struct.unpack的用法 4/25/2009 12:18:21 PM Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的. 1. 设置 ...

  2. python unpack_python中struct.pack()函数和struct.unpack()函数

    python中的struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,然后再转换为Python的结构化类型,比如元组(tuple)啥的~.一般输入的渠道来源于文件或者网络的二 ...

  3. python pack和unpack的用法

    #  按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) pack(fmt, v1, v2, ...) # 按照给定的格式(fmt)解析字节流string,返回解析出来的t ...

  4. 泛化,过拟合,欠拟合素材(part1)--python机器学习基础教程

    学习笔记,仅供参考,有错必纠 文章目录 python机器学习基础教程 泛化.过拟合.欠拟合 模型复杂度与训练集大小的关系 python机器学习基础教程 泛化.过拟合.欠拟合 判断一个算法在新数据上表现 ...

  5. 2.爬虫的Python基础

    本篇-基础内容部分可参考Python笔记本 基础内容 Python需要强制缩进,利用缩进表示语句块的开始和退出,通常使用4个空格表示每一级缩进. Python是弱类型语言,当声明变量时不需要声明变量的 ...

  6. python计算生态规模_Python计算生态的构建

    本专题的内容结构: 第一部分主要是:如何编写Python第三方库(包和模块) 第二部分主要是:如何编写带有c语言扩展的Python第三方库(包和模块) 第一部分的结构: unit1:深入理解Pytho ...

  7. python中一切可迭代对象都支持解包 - Iterable Unpacking

    python封包 当多个元素赋值给一个变量时,python会自动将这些值封装成元组,这个特性称之为封包 a = 1, True, ['a', 'b'], {'age': 18} print(a, ty ...

  8. java unpack_参数,解包-UNpack

    Python中的unpack: import bisect print '***'*8 print 'Now we start test'.title() print '***'*8 with ope ...

  9. python 环境 开发_设置Python开发环境

    python 环境 开发 Setting up Python is usually simple, but there are some places where newcomers (and exp ...

  10. python epub解析_python 解析电子书的信息

    epub 书是可供人们下载的开放性资源格式的电子图书.epub 文件通常与类似亚马逊Kindle 这样的电子阅读器不兼容. 一个epub 文件包含两个文件:一个包含数据的压缩文件(.zip文件)以及一 ...

最新文章

  1. 《JS权威指南学习总结--1.1语言核心》
  2. 国内网站安全测试6大步骤
  3. Spark的RDD操作之Join大全
  4. 深度学习(二十四)——L2 Normalization, Attention(1)
  5. java多台_Java 多态
  6. 【Elasticsearch】Elasticsearch 导入 导出 命令行工具
  7. TypeScript 3.9 发布
  8. 当卷积层后跟batch normalization层时为什么不要偏置b
  9. You can format your XML in the 'standard' Android way...
  10. 微软ad域管理工具_比较好的第三方微软AD域管理工具有哪些?
  11. 外贸常用术语_外贸常用术语大全
  12. win10安装Oracle官方精简版客户端
  13. JPA设置表名和实体名,表字段与实体字段的对应
  14. SEED-XDS560Plus Emulator for CCS3.3.82.exe 在硬盘上都安装了什么?
  15. PHPMyWind支持PDF粘贴
  16. Session会话管理
  17. linux系统如何使用qq,Linux_ubuntu系统怎么安装qq并登录?,使用linux操作系统,qq是必不可 - phpStudy...
  18. Linux 开机 logo 修改
  19. 计算机学院毕业设计文化衫,定制毕业文化衫设计案例 数学与统计学院文化衫设计图案...
  20. 【量化笔记】Markowitz模型的python实现

热门文章

  1. 蛋花花:人类与“人工智能”相比,人类还有优势吗
  2. layer非常不错的web弹窗/层解决方案
  3. 在线头像制作网站FaceYourManga
  4. NYOJ 吃土豆(动态规划)
  5. 最近三次蓝屏Bluescreen STOP 0x000000ea
  6. 如何设置快速启动栏 win7 快速启动栏 快速启动栏不见了.
  7. 佳能打印机 android,佳能打印机app
  8. 【历史上的今天】6 月 6 日:世界 IPv6 启动纪念日;《俄罗斯方块》发布;小红书成立
  9. Python串口异步通信
  10. win7系统备份还原软件_比ghost快200%!备份还原系统真正首选的神器