Python3中的Iterable Unpacking

作者: the5fire 标签: python3 发布: 2013-08-08 阅读: 11612

python星号表达式 (star expressions)是今天在2013新版的《python cookbook》中看到的第一个例子,这本书是基于Python3.3的。

所谓的“星号表达式”其实就是对可迭代数据的unpacking(拆箱),记得在C#中也有装箱(boxing)和拆箱(unboxing)的概念。不同于C#中是对值类型进行改变的行为,python3中的这个拆箱是对slice的增强。

代码胜千言:

# python2.x:
seq = range(10)
a, b = seq[0], seq[1:]

# python3:
seq = range(10)
a, *b = seq

这样一个表达式让可迭代数据类型操作起来变得更加灵活了,可惜要用的话只能到Python3.x了。这本新的cookbook应该也是对Python3的推动。

什么时候才能正式拥抱Python3.x呢?恐怕得先看看这个: PYTHON 3 WALL OF SUPERPOWERS (墙外, 展示哪些包已经支持了Py3)

新版的cookbook在线电子书地址在我的 导航 中有。

参考:

---- EOF ----

微信公众号:Python程序员杂谈

相关文章