相关疑难解决方法(0)

如何将长度为n的元组解包为m <n个变量

在Python 3中,我可以执行以下操作(另请参阅PEP3132 on Extended Iterable Unpacking):

a, *b = (1, 2, 3)
# a = 1; b = (2, 3)
Run Code Online (Sandbox Code Playgroud)

我能做些什么才能在Python 2.x中实现同样优雅?


我知道我可以使用单元素访问和切片操作,但我想知道是否有更多的pythonic方式.我的代码到目前为止:

a, b = (1, 2, 3)[0], (1, 2, 3)[1:]
# a = 1; b = (2, 3)
Run Code Online (Sandbox Code Playgroud)

python iterable-unpacking

45
推荐指数
3
解决办法
3万
查看次数

Python 2中的扩展元组解包

是否可以在Python 2中模拟扩展元组解包?

具体来说,我有一个for循环:

for a, b, c in mylist:
Run Code Online (Sandbox Code Playgroud)

当mylist是大小为3的元组列表时,它工作正常.如果我传入一个大小为四的列表,我希望循环工作相同.

我想我最终会使用命名元组,但我想知道是否有一种简单的写法:

for a, b, c, *d in mylist:
Run Code Online (Sandbox Code Playgroud)

这样可以d吃掉任何额外的成员.

python tuples iterable-unpacking

29
推荐指数
3
解决办法
8883
查看次数

标签 统计

iterable-unpacking ×2

python ×2

tuples ×1