如何获得第一对元素和余数?

时间:2013-04-13 19:46:18

标签: python syntax python-2.x

是否可以在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:]

1 个答案:

答案 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是完全有效的代码,会产生所需的结果。