是否可以在 Python 中做这样的事情:
a, b, *c = [1,2,3,4]
在哪里
a = 1
b = 2
c = [3,4]
?
我发现的最紧凑的方法是:
l = [1,2,3,4]
a, b = l[:2]
c = l[2:]
是否可以在 Python 中做这样的事情:
a, b, *c = [1,2,3,4]
在哪里
a = 1
b = 2
c = [3,4]
?
我发现的最紧凑的方法是:
l = [1,2,3,4]
a, b = l[:2]
c = l[2:]
正如DSM 的回答所述,在 3.x 中,您的伪代码工作正常。2.x 中更通用的方法是:
x = iter(rhs)
a, b, c = next(x), next(x), list(x)
这具有处理所有可迭代对象的优势,而不仅仅是序列,因此更接近 3.x 行为。
编辑:DSM 的答案由于某种原因被删除,但它表示在 3.x 中,a, b, *c = rhs
是完全有效的代码,产生了预期的结果。