+

How to make loops run faster in Python?

This is a language independent question. There are loops in almost every language, and the principles are the same everywhere. You should understand that compilers do a great job when it comes to optimizing for loops, but you, as a programmer, also need to keep your loops optimized.

It`s important to understand that whatever you put into loop is executed for each iteration of the loop. The key to optimizing loops is &minimize what they do.

Even operations that seem very fast will be repeated many times. An operation that takes 1 microsecond to a million times will take 1 second.



Don`t do things like len (list) inside the loop or even in its initial state.



Example

 a = [i for i in range (1000000)] length = len (a) for i in a: print (i - length) 

much faster than

 a = [ i for i in range (1000000)] for i in a: print (i - len (a)) 

You can also use methods such as Loop Unrolling ( https://en.wikipedia.org/wiki/Loop_unrolling ) which is a loop conversion method that tries optimize program execution speed at the expense of its binary size, which is known as a space-time tradeoff.

Using functions such as map, filter, etc. Instead of explicit for loops can also provide some performance improvements. < / p>



Get Solution for free from DataCamp guru