python - Difference between two snippets of code? -
is there difference in terms of performance in doing this:
for in range(t): arr = [int(arr_temp) arr_temp in input().strip().split(' ')]
and this:
for in range(t): arr = input().strip().split(' ') arr = list(map(int, arr))
if yes, better?
according ipython's %timeit
function, map
bit faster:
in [16]: s = ' '.join(map(str, range(1000))) in [17]: %timeit [int(c) c in s.split()] 10000 loops, best of 3: 171 µs per loop in [18]: %timeit list(map(int, s.split())) 10000 loops, best of 3: 138 µs per loop
tested ipython 1.2.1 , python 3.4.3 , different input sizes (range(1000)
, range(10)
, , range(100000)
).
of course, interesting question is: part of code slowing down program (assuming that's why asking, , not out of pure curiosity). compared to, e.g., reading input
(from file, presume?), or doing calculations data, might pretty insignificant.
Comments
Post a Comment