[Python-Dev] Extending tuple unpacking
Paul Du Bois
paul.dubois at gmail.com
Mon Oct 10 22:14:30 CEST 2005
On 10/10/05, Nick Coghlan <ncoghlan at gmail.com> wrote:
> cmd, *args = input.split()
These examples also have a reasonable implementation using list.pop(),
albeit one that requires more typing. On the plus side, it does not violate
DRY and is explicit about the error cases.
args = input.split()
try:
cmd = input.pop(0)
except IndexError:
cmd = ''
> def func(*args, **kwds):
> arg1, arg2, *rest = args # Unpack the positional arguments
rest = args # or args[:] if you really did want a copy
try:
arg1 = rest.pop(0)
arg2 = rest.pop(0)
except IndexError:
raise TypeError("foo() takes at least 2 arguments")
paul
More information about the Python-Dev
mailing list