将两个变量分配给一个列表切片

时间:2012-06-16 14:02:02

标签: python list pattern-matching slice

是否可以一次性分配给列表切片,以实现以下目标:

mylist = [1,2,3,4,5,6,7]

xs = mylist[:-1]
x  = mylist[-1]

xs == [1,2,3,4,5,6]
x  == 7

我知道我可以这样写:

xs,x = mylist[:-1], mylist[-1]

但我想知道是否有可能以任何其他方式。或者被Haskell的模式匹配宠坏了。

类似于x,xs = mylist[:funky:slice:method:]

1 个答案:

答案 0 :(得分:11)

你可以在Python 3中使用:

>>> *xs, x = [1, 2, 3, 4, 5, 6, 7]
>>> xs
[1, 2, 3, 4, 5, 6]
>>> x
7