On 3/1/14 12:50 AM, Mark H. Harris wrote:
On Friday, February 28, 2014 11:34:56 PM UTC-6, Ian wrote:

One very common example of tuples containing lists is when lists are
passed to any function that accepts *args, because the extra arguments
are passed in a tuple.  A similarly common example is when returning
multiple objects from a function, and one of them happens to be a
list, because again they are returned in a tuple.

     def f(*args):
         print(args)
         return (args[1:]

     >>> result = f(1, 2, 3, [4, 5])
     (1, 2, 3, [4, 5])
     >>> print(result)
     (2, 3, [4, 5])

I agree Ian... good points all.   ... again, I'm not arguing with anyone... 
just saying that an error (whatever we mean by that) should not 
half-way-fail....   we are only pointing out the problem... we have not idea 
what the solution is yet.

Intuitively everyone can see that there is a problem here...  the debate cannot 
be answered either because of the inherent design of python (almost all of 
which we love). So, as they say, what is a mother to do?  ... I mean, some 
people's kids...

I don't know how I propose to handle the problem... I think the first step is 
getting everyone to agree that there IS a problem... then debate how to tackle 
the solution proposals.

marcus


Everyone can agree that it is not great to raise an exception and also leave the list modified. But I very much doubt that anything will be done to change the situation. All of the solutions are too extreme, and bring their own infelicities, and the actual problems caused by this scenario are vanishingly small.

BTW: I also am mystified why you uses ellipses to end your sentences, surely one period would be enough? :)

--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to