Pythonic way to split a list into first and rest?

Viewed 37568

I think in Python 3 I'll be able to do:

first, *rest = l

which is exactly what I want, but I'm using 2.6. For now I'm doing:

first = l[0]
rest = l[1:]

This is fine, but I was just wondering if there's something more elegant.

4 Answers

Yet another one, working with python 2.7. Just use an intermediate function. Logical as the new behavior mimics what happened for functions parameters passing.

li = [1, 2, 3]
first, rest = (lambda x, *y: (x, y))(*li)
Related