[英]order of unpacking *args in Python
我不知道为什么当我做时变量last
是5
first, *rest, last = 1,2,3,4,5
我以为赋值从左到右,因此*rest
将是[2,3,4,5]
,但实际上是[2,3,4]
并且我以为last将为空,否则此代码将导致错误,但令人惊讶的是它有效,但是我不明白为什么
这是仅在Python 3中有效的语法,称为“扩展解压缩”,并且在PEP 3132中定义-https: //www.python.org/dev/peps/pep-3132/
只是因为它具有拆包功能。
当*rest
是参数时, first
和last
只是变量,因此它们获得元组(1,2,3,4,5)中first
和last
值之间的所有值。
如果您想写:
[2,3,4,5]
然后只需使用:
first, *args = 1,2,3,4,5
# first --> 1
# args --> [2,3,4,5]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.