1.1 解压序列赋值给多个变量

第一章:数据结构和算法

Python 提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块 collections 当中操作这些数据结构的方法。

1.1 解压序列赋值给多个变量

问题

现在有一个包含 N 个元素的元组或者是列表,怎样将它里面的值解压后同时赋值给 N 个变量?

解决方案

任何的列表(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。唯一的前提就是变量的数量必须跟列表元素的数量是一样的。

如果变量个数和序列元素的个数不匹配,会产生一个异常。

讨论

实际上,这种解压赋值可以用在任何可迭代对象上面,而不仅仅是列表或者元组。包括字符串,文件对象,迭代器和生成器。

有时候,你可能只想解压一部分,丢弃其他的值。对于这种情况 Python 并没有提供特殊的语法。但是你可以使用任意变量名去占位,到时候丢掉这些变量就行了。

你必须保证你选用的那些占位变量名在其他地方没被使用到。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180830G0I89I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券