Today we are going to compare the speed difference between a loop and list comprehension. Let's consider the example.
import timeit def using_loop(): numbers = list(range(50)) double =  for number in numbers: double.append(number * 2) return double def using_comprehension(): numbers = list(range(50)) return [number * 2 for number in numbers ] time_taken = timeit.timeit(using_loop, number=1000_000) print("Time taken for using_loop", time_taken) time_taken = timeit.timeit(using_comprehension, number=1000_000) print("Time taken for using_comprehension", time_taken)
Time taken for using_loop 2.5781862180001553 Time taken for using_comprehension 1.8577961320002032
If we look into the internals of both the code append method makes the code slower. But for list comprehension python is internally called a bytecode called LIST_APPEND. This make the comprehension more faster than the loop. Another thing is it make the code more pythonic also
Hope you have learned something from this post. Please share your valuable suggestion at firstname.lastname@example.org