是否可以在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:]
答案 0 :(得分:4)
如DSM's answer所述,在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
是完全有效的代码,会产生所需的结果。