第一章:数据结构和算法
Python 提供了大量的内置数据结构,包括列表,集合以及字典。大多数情况下使用这些数据结构是很简单的。但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题。因此,这一章的目的就是讨论这些比较常见的问题和算法。另外,我们也会给出在集合模块 collections 当中操作这些数据结构的方法。
1.1 解压序列赋值给多个变量
问题
现在有一个包含 N 个元素的元组或者是列表,怎样将它里面的值解压后同时赋值给 N 个变量?
解决方案
任何的列表(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。唯一的前提就是变量的数量必须跟列表元素的数量是一样的。
如果变量个数和序列元素的个数不匹配,会产生一个异常。
讨论
实际上,这种解压赋值可以用在任何可迭代对象上面,而不仅仅是列表或者元组。包括字符串,文件对象,迭代器和生成器。
有时候,你可能只想解压一部分,丢弃其他的值。对于这种情况 Python 并没有提供特殊的语法。但是你可以使用任意变量名去占位,到时候丢掉这些变量就行了。
你必须保证你选用的那些占位变量名在其他地方没被使用到。
领取专属 10元无门槛券
私享最新 技术干货