Time Analysis in List Comprehensions and Loop

The list comprehensions in Python are more efficient both computationally and in terms of coding space and time than a for a loop. Typically, they are written in a single line of code. The below program depicts the difference between loops and list comprehension based on performance.

Python




# Import required module
import time
  
  
# define function to implement for loop
def for_loop(n):
    result = []
    for i in range(n):
        result.append(i**2)
    return result
  
  
# define function to implement list comprehension
def list_comprehension(n):
    return [i**2 for i in range(n)]
  
  
# Driver Code
  
# Calculate time taken by for_loop()
begin = time.time()
for_loop(10**6)
end = time.time()
  
# Display time taken by for_loop()
print('Time taken for_loop:', round(end-begin, 2))
  
# Calculate time takens by list_comprehension()
begin = time.time()
list_comprehension(10**6)
end = time.time()
  
# Display time taken by for_loop()
print('Time taken for list_comprehension:', round(end-begin, 2))


Output

Time taken for_loop: 0.39
Time taken for list_comprehension: 0.35

From the above program, we can see list comprehensions are quite faster than for loop.

Python – List Comprehension

A Python list comprehension consists of brackets containing the expression, which is executed for each element along with the for loop to iterate over each element in the Python list. 

Example:

Python




numbers = [12, 13, 14,]
doubled = [x *2  for x in numbers]
print(doubled)


Output

[24, 26, 28]

Similar Reads

Python List Comprehension Syntax

...

List Comprehension in Python Example

Syntax: newList = [ expression(element) for element in oldList if condition ]  Parameter: expression: Represents the operation you want to execute on every item within the iterable. element: The term “variable” refers to each value taken from the iterable. iterable: specify the sequence of elements you want to iterate through.(e.g., a list, tuple, or string). condition: (Optional) A filter helps decide whether or not an element should be added to the new list. Return:The return value of a list comprehension is a new list containing the modified elements that satisfy the given criteria. Python List comprehension provides a much more short syntax for creating a new list based on the values of an existing list....

List Comprehensions vs For Loop

Here is an example of using list comprehension to find the square of the number in Python....

Time Analysis in List Comprehensions and Loop

...

Nested List Comprehensions

...

List Comprehensions and Lambda

...

Conditionals in List Comprehension

...

Advantages of List Comprehension

There are various ways to iterate through a list. However, the most common approach is to use the for loop. Let us look at the below example:...

Python List Comprehension Exercise Questions

...