Python Language List Comprehensions

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Extensions
> Step 2: And Like the video. BONUS: You can also share it!

Introduction

A list comprehension is a syntactical tool for creating lists in a natural and concise way, as illustrated in the following code to make a list of squares of the numbers 1 to 10: [i ** 2 for i in range(1,11)] The dummy i from an existing list range is used to make a new element pattern. It is used where a for loop would be necessary in less expressive languages.

Syntax

  • [i for i in range(10)] # basic list comprehension
  • [i for i in xrange(10)] # basic list comprehension with generator object in python 2.x
  • [i for i in range(20) if i % 2 == 0] # with filter
  • [x + y for x in [1, 2, 3] for y in [3, 4, 5]] # nested loops
  • [i if i > 6 else 0 for i in range(10)] # ternary expression
  • [i if i > 4 else 0 for i in range(20) if i % 2 == 0] # with filter and ternary expression
  • [[x + y for x in [1, 2, 3]] for y in [3, 4, 5]] # nested list comprehension

Remarks

List comprehensions were outlined in PEP 202 and introduced in Python 2.0.



Got any Python Language Question?