Benjamin Kaplan wrote:
On Thu, Dec 8, 2011 at 1:42 PM, Roy Smith <r...@panix.com> wrote:
(some,
very,
long,
list,
of,
variable,
names,
to,
get,
the,
stuff,
unpacked,
into) = function_that_should_return_a_14_tuple()
raises
ValueError: too many values to unpack
Quick, what's the bug? Did I forget a variable on the LHS, or is my function returning
more things than it should? I know it's supposed to be 14, but I don't know which side
is wrong. Had it said "... expected 13, got 14", I would know immediately.
If the RHS was a tuple or a list, yes you could know immediately. But
unpacking works with any iterable, so it probably doesn't special-case
lists and tuples. Iterables don't have a size- they just keep going
until StopIteration is raised. So in EVERY SINGLE CASE, you would get
"expected n args, got n+1" even if the iterable would return 24 items
instead of 14, or would never stop returning items.
Not so. There could be fewer, in which you could see "expected 13 args,
got 7."
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list