python函数中的多次返回

时间:2018-09-25 13:22:22

标签: python python-2.7

def example():
    var1 = {'a':1,'b':2}
    var2 = {'c':3,'d':4}

    return var1,var2

[v1, v2] = example()

我想将var1分配给v1,将var2分配给v2。我可以将元组var1,var2解压缩到列表v1,v2中吗?到目前为止,我还没有发现有人将多重返回值解压到列表中

1 个答案:

答案 0 :(得分:6)

在语义上,将其解压缩为列表或元组没有区别。所有这些都是等效的:

bin\Debug\netstandard2.0

(另请参见assignment statement grammar。)

但是,解压缩到列表中是一个相对未知的功能,因此对于阅读您的代码的人来说可能会造成混淆。它也很冗长。这就是为什么我强烈建议您使用不带括号或括号的众所周知的拆包语法的原因:

v1, v2 = example()
(v1, v2) = example()
[v1, v2] = example()