On Fri, 1 May 2015 02:06 am, Cecil Westerhof wrote:

> If I execute:
>     l = range(int(1E9)


Others have already answered your questions about memory. Let me answer the
question you didn't ask about style :-)


Don't use "l" as a variable name, as it looks too much like 1. Better to use
L, or even better, a meaningful name.

Rather than convert a float 1E9 to an int at runtime, better to use an int:

range(10**9)


With recent versions of CPython, the compiler has a keyhole optimiser which
does constant folding. For implementations of Python which don't do
constant folding, 10**9 is likely to be faster than int(1E9) -- but even if
it isn't, does it matter? It will be very fast one way of the other. The
important thing is that 10**9 expresses the intention to use an integer in
a more direct fashion than using 1E9.



-- 
Steven

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

Reply via email to