Multi-dimensional list initialization
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Fri Nov 9 01:37:41 EST 2012
On Fri, 09 Nov 2012 17:07:09 +1100, Chris Angelico wrote:
> On Fri, Nov 9, 2012 at 12:39 PM, Mark Lawrence <breamoreboy at yahoo.co.uk>
> wrote:
>> On 07/11/2012 01:55, Steven D'Aprano wrote:
>>>
>>>
>>> Who knows? Who cares? Nobody does:
>>>
>>> n -= n
>>>
>>>
>> But I've seen this scattered through code:
>>
>> x := x - x - x
>
> Can you enlighten us as to how this is better than either:
> x := -x
> or
> x := 0 - x
> ? I'm not seeing it.
I'm hoping that Mark intended it as an example of crappy code he has
spotted in some other language rather than a counter-example of something
you would do.
To be pedantic... there may very well be some (rare) cases where you
actually do want x -= x rather than just x = 0. Consider the case where x
could be an INF or NAN. Then x -= x should give x = NAN rather than zero.
That may be desirable in some cases.
At the very least, the compiler should NOT optimize away x = x - x to
x = 0 if x could be a float, complex or Decimal.
> And I'm not seeing any nonnumeric that would
> benefit from being subtracted from itself twice (strings, arrays, sets,
> you can subtract them from one another but not usefully more than once).
How do you subtract strings?
--
Steven
More information about the Python-list
mailing list