[英]How can I unpack sequence?
为什么我不能这样做:
d = [x for x in range(7)]
a, b, c, d, e, f, g = *d
哪里可以打开包装? 只在函数的括号之间?
您正在以错误的方式使用Extended Iterable Unpacking
。
d = [x for x in range(7)]
a, b, c, d, e, f, g = d
print(a, b, c, d, e, f, g)
哪里可以打开包装? 只在函数的括号之间?
没有,
*
建议更改可迭代解包语法,允许指定“全部捕获”名称,该名称将分配一个未分配给“常规”名称的所有项目的列表。
你可以尝试这样的事情:
a, *params = d
print(params)
产量
[1, 2, 3, 4, 5, 6]
通常,当您需要将参数传递给函数时,会使用*
( 扩展可迭代解包 )运算符。
注意
Javascript等效的Extended Iterable Unpacking operator
称为扩展语法 。
d = [...Array(7).keys()] console.log(d) var [a, ...b] = d console.log(a,b)
你也可以用这个:
>>> a,b,c,d,e,f,g = range(7)
>>> a
0
>>> b
1
>>> c
2
你似乎不需要*
>>> z = [x for x in range(7)]
>>> a,b,c,d,e,f,g = z
>>> a
0
>>> b
1
>>> c
2
>>>
(我用过z而不是两次。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.