proposal: Ellipsis in argument list

Stefan Behnel stefan_ml at behnel.de
Sat Jan 12 09:08:24 EST 2013


Szabolcs Blága, 12.01.2013 14:30:
> I have an idea that the Ellipsis object could be used in function calls.
> The "..." syntax should automagically turn into an Ellipsis positional
> argument.
> 
> def f(*args):
>   ext_args = []
>   for i, a in enumerate(args):
>     if a is Ellipsis:
>       ext_args.extend([x for x in range(args[i-1]-1, args[i+1])])
>     else:
>       ext_args.append(a)
>   return ext_args
> 
> Calling it for the above example specifically:
> 
> >>> f(34, ..., 43)
> [34, 35, 36, 37, 38, 39, 40, 41, 42, 43]
> 
> That might be useless or someone might say it is confusing, but I think it
> would be relatively easy to implement and a nice little syntactic "sugar".

Not sure what exactly you are proposing here, this works for me:

  Python 3.2.3 (default, Oct 19 2012, 19:53:16)
  [GCC 4.7.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> def f(*args): print(args)
  >>> f(34, ..., 43)
  (34, Ellipsis, 43)

Stefan





More information about the Python-list mailing list