相关疑难解决方法(0)

拆包,扩展拆包和嵌套扩展拆包

考虑一下这些表达方式......请耐心等待...这是一个很长的清单......

(注意:重复一些表达式 - 这只是为了呈现"上下文")

a, b = 1, 2                          # simple sequence assignment
a, b = ['green', 'blue']             # list asqignment
a, b = 'XY'                          # string assignment
a, b = range(1,5,2)                  # any iterable will do


                                     # nested sequence assignment

(a,b), c = "XY", "Z"                 # a = 'X', b = 'Y', c = 'Z' 

(a,b), c = "XYZ"                     # ERROR -- too many values to unpack
(a,b), c = "XY"                      # ERROR -- need more than 1 value …
Run Code Online (Sandbox Code Playgroud)

python argument-unpacking python-3.x iterable-unpacking

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

用 [ ] 解包 python 元组

我知道解包元组的规范方法是这样的

a, b, c = (1, 2, 3)
# or
(a,b,c) = (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

但注意到你可以像这样解包一个元组

[a, b, c] = (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

由于某种类型的演员表或列表构造,第二种方法是否会产生任何额外费用?有没有办法检查 python 解释器如何处理这个类似于从编译器查看程序集?

python python-3.x iterable-unpacking

14
推荐指数
2
解决办法
568
查看次数