任务中的Python明星运算符

时间:2014-02-15 09:14:57

标签: python

在Python 3中,以下代码具有有效的语法:

>> *firsts, last = [1,2,3,4]

它将导致:

>> firsts
[1,2,3]
>> last
4

非常方便。但是,这种语法在Python 2下无效。有没有比这样做更好的方法来实现相同的结果:

>> firsts = [1,2,3,4]
>> last = firsts.pop()

哪个好,但我喜欢Python3解决方案的优雅。

由于

2 个答案:

答案 0 :(得分:3)

假设您有一些项目列表l,您可以这样做:

firsts, last = l[:-1], l[-1]

它不像拆包那么整洁,但只是一条线。请注意,它只适用于您可以索引的迭代。

答案 1 :(得分:0)

我试过这个似乎工作

 firsts, last = [[1,2,3],4]