

![© SkillBrew http://skillbrew.com
Introduction
Lets say you are given a list and your task is to generate
another list of cubes
sample = [10, 20, 30, 40]
cubes = []
for x in sample:
cubes.append(x**3)
print cubes
Output:
[1000, 8000, 27000, 64000]
3](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-3-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Lets write a List comprehension
sample = [10, 20, 30, 40]
cubes = [ x**3 for x in sample_list]
print cubes
Output:
[1000, 8000, 27000, 64000]
4
sample = [10, 20, 30, 40]
cubes = []
for x in sample:
cubes.append(x**3)
vs](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-4-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Syntax
cubes = [ x**3 for x in sample_list]
Expression For loop
5](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-5-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Filter
Lets tweak the problem a little. Generate a list of cubes but
do the operation only on elements that are even.
sample = [10, 21, 33, 40]
cubes = [ x**3 for x in sample if x%2 == 0 ]
print cubes
Output:
[1000, 64000]
6](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-6-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)

![© SkillBrew http://skillbrew.com
Naive way
matrix = []
for x in range(3):
for y in range(3):
matrix.append((x,y))
print matrix
Output:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1),
(1, 2), (2, 0), (2, 1), (2, 2)]
8](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-8-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
With List comprehensions
matrix = [(x,y) for x in range(3) for y in
range(3)]
print matrix
Output:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1,
2), (2, 0), (2, 1), (2, 2)]
9](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-9-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)



This document discusses Python list comprehensions, which provide a concise way to generate new lists from existing lists. It covers the basic syntax of list comprehensions, using filters to apply conditions, and nesting loops to generate lists of tuples from multi-dimensional data like matrices. Examples are given to demonstrate how list comprehensions can replace traditional for loops for generating new lists in a more compact and Pythonic way.


![© SkillBrew http://skillbrew.com
Introduction
Lets say you are given a list and your task is to generate
another list of cubes
sample = [10, 20, 30, 40]
cubes = []
for x in sample:
cubes.append(x**3)
print cubes
Output:
[1000, 8000, 27000, 64000]
3](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-3-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Lets write a List comprehension
sample = [10, 20, 30, 40]
cubes = [ x**3 for x in sample_list]
print cubes
Output:
[1000, 8000, 27000, 64000]
4
sample = [10, 20, 30, 40]
cubes = []
for x in sample:
cubes.append(x**3)
vs](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-4-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Syntax
cubes = [ x**3 for x in sample_list]
Expression For loop
5](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-5-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
Filter
Lets tweak the problem a little. Generate a list of cubes but
do the operation only on elements that are even.
sample = [10, 21, 33, 40]
cubes = [ x**3 for x in sample if x%2 == 0 ]
print cubes
Output:
[1000, 64000]
6](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-6-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)

![© SkillBrew http://skillbrew.com
Naive way
matrix = []
for x in range(3):
for y in range(3):
matrix.append((x,y))
print matrix
Output:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1),
(1, 2), (2, 0), (2, 1), (2, 2)]
8](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-8-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)
![© SkillBrew http://skillbrew.com
With List comprehensions
matrix = [(x,y) for x in range(3) for y in
range(3)]
print matrix
Output:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1,
2), (2, 0), (2, 1), (2, 2)]
9](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fpythonprogrammingessentials-m34-listcomprehensions-140819043227-phpapp02%2F85%2FPython-Programming-Essentials-M34-List-Comprehensions-9-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fpython-programming-essentials-m34-list-comprehensions%2F38124282&__type=image)


