Pythonic的方式分裂成一个列表,rest?
我想在Python 3中,我将能够做到:
first, *rest = l
这正是我想要的,但我使用的是2.6。 现在我正在做:
first = l[0] rest = l[1:]
这很好,但我只是想知道是否有更优雅的东西。
first, rest = l[0], l[1:]
基本上是一样的,除了它是一个oneliner。 Tuple分配岩石。
这有点长,不太明显,但对于所有迭代(而不是限于片段)来说是普遍的:
i = iter(l) first = next(i) # i.next() in older versions rest = list(i)
你可以做
first = l.pop(0)
然后l
会rest。 它修改你的原始列表,所以也许这不是你想要的。
我会build议:
first, remainder = l.split(None, maxsplit=1)