Python List Comprehension

52 views
optmiize_your_resume_1

In this article, you’ll learn about list comprehension.

Syntax:

newList = [ expression(element) for element in oldList if condition ]

For Loop vs List Comprehensions

There are various ways to iterate through a list. However, the most common approach is to use the for loop.

For Loop

# Empty list List = [] # Traditional approach of iterating for character in 'Techarge!': List.append(character) # Display list print(List)
Code language: PHP (php)

List Comprehension

# Using list comprehension to iterate through loop List = [character for character in 'Techarge!'] # Displaying list print(List)
Code language: PHP (php)

Output the both the case are same,

[‘T’, ‘e’, ‘c’, ‘h’, ‘a’, ‘r ‘, ‘g’, ‘e ‘, ‘!’]

Advantages of List Comprehension

  • More time efficient and space efficient than loops.
  • Require fewer lines of code.
  • Transforms iterative statement into a formula.

Nested List Comprehensions

Nested List Comprehensions are nothing but a list comprehension within another list comprehension which is quite similar to nested for loops. Below is the program which implements nested loop:

# Nested list comprehension matrix = [[j for j in range(5)] for i in range(3)] print(matrix)
Code language: PHP (php)

Output:

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

List Comprehensions and Lambda

Lambda Expressions are nothing but shorthand representations of Python functions. Using list comprehensions with lambda creates an efficient combination.

Python List Comprehension

Let us look at the below examples:

Using Loops

# using lambda to print table of 5 numbers = [] for i in range(1, 10): numbers.append(i*5) print(numbers)
Code language: PHP (php)

Using List Comprehension

numbers= [i*5 for i in range(1,10)] print(numbers)
Code language: PHP (php)

Using List Comprehension and Lambda

# using lambda to print table of 5 numbers = list(map(lambda i: i*5, [i for i in range(1,10)])) print(numbers)
Code language: PHP (php)

Output in all the case are same .

[5,10,15,20,25,30,35,40,45,50,55,60]

Conditionals in List Comprehension

We can also add conditional statements to the list comprehension. We can create a list using range(), operators, etc. and cal also apply some conditions to the list using the if statement.

Let look on some of the examples

Example 1: Display square of even numbers from 1 to 10.

# Getting square of even numbers from 1 to 10 squares = [n**2 for n in range(1, 11) if n%2==0] # Display square of even numbers print(squares)
Code language: PHP (php)

Output

[4, 16, 36, 64, 100]

Example 2: Display cube of odd numbers from 1 to 10.

# Getting cube of odd numbers from 1 to 10 squares = [n**3 for n in range(1, 11) if n%3==0] # Display square of even numbers print(squares)
Code language: PHP (php)

Output

[1,27,125,343,729]

Example 3: Toggle case of each character in a string.

# Initializing string string = 'Techarge' # Toggle case of each character List = list(map(lambda i: chr(ord(i)^32), string)) # Display list print(List)
Code language: PHP (php)

Output

Python List Comprehension
['t','E','C','H','A','R','G','E']

Example 4: Reverse each string in a tuple.

# Reverse each string in tuple List = [string[::-1] for string in ('Code', 'for', 'Good')] # Display list print(List)
Code language: PHP (php)

Output

['edoC', 'rof', 'dooG']

Thank you for reading, If you have reached so far, please like the article, It will encourage me to write more such articles. Do share your valuable suggestions, I appreciate your honest feedback!

20%off for Ink 280 281

You may also like

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More