Python: List Comprehension

By Xah Lee. Date: . Last updated: .

List Comprehension is a special syntax for building list, or nested lists. You can use “for loops” to do exactly the same, but List Comprehension makes the code shorter.

List comprehension syntax has the form

[expression for var in list]

where expression is evaluated with var replaced by each element in list.

# python 3

# generate a list
li = [ i+1 for i in [1,2,3] ]
print(li)
# [2, 3, 4]

Build a list of tuples:

# python 3

# build a list of tuples
li = [ (i,i*2) for i in range(1,5)]
print(li)
# [(1, 2), (2, 4), (3, 6), (4, 8)]

The iteration part can be nested.

# python 3

xx = [ (i,j) for i in range(1,6) for j in range(1,4) ]
print(xx)

# output
# [
#  (1, 1), (1, 2), (1, 3),
#  (2, 1), (2, 2), (2, 3),
#  (3, 1), (3, 2), (3, 3),
#  (4, 1), (4, 2), (4, 3),
#  (5, 1), (5, 2), (5, 3)
# ]

Python List, Tuple, Dictionary

Python

Regex

Text Processing

Web

Misc