我有一个返回列表的函数。调用者不知道此列表的长度。
def get_array():
ret = [1, 2]
return ret
var1, var2 = get_array()
这设置了 var1 = 1 和 var2 = 2。这适用于所有列表,除非长度小于 2。例如,如果列表的长度为 1:
def get_array():
ret = [1]
return ret
var1 = get_array()
这会将 var1 设置为 [1],但我希望 var1 为 1。有没有更简洁的方法来解压缩这个数组而不必检查它的长度?
请您参考如下方法:
如果您使用的是 python3,则可以使用 splatted 解包语法来帮助您:
In [113]: a,*b = [1]
In [114]: a
Out[114]: 1
In [115]: b
Out[115]: []
基本上,这可以让您将 get_array()[1:] 解压到 b 中,如果 get_array() 返回,它将是空的大小为 1 的列表
