FAQ: Learn Python: Loops - List Comprehensions

This community-built FAQ covers the “List Comprehensions” exercise from the lesson “Learn Python: Loops”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Join the Discussion. Help a fellow learner on their journey.

Agree with a comment or answer? Like () to up-vote the contribution!

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

2 posts were split to a new topic: Why does this print every iteration?

15 posts were split to a new topic: How does indexing a string work? or What does `word[0]` in the example mean?

3 posts were split to a new topic: Can you break down the uses of the temporary variable `word` in the example?

3 posts were split to a new topic: Description problems in course material

2 posts were split to a new topic: Do I need to initiate an empty list before list comprehension?

Why are list comprehensions set up the way they are?

[EX]

list_comprehension = [“" + “for loop” + “if statement”]
what is the "
” part for?

``````[ expression | for parameter in loop | optional condition ]
``````

We are building a list that will be composed of the expressions evaluated from the loop against the conditional.

``````evens = [x for x in range(1, 100) if x % 2 == 0]

odd_cubes = [x ** 3 for x in range(1, 22) if x % 2]
``````

Both examples are trivial and can be simplified but study them, anyway.

``````     [x ** 3 for x in range(1, 22) if x % 2]
------ --------------------- --------
/               |              \
expression           for loop       condition
``````

Technically, a comprehension is itself an expression (anything that resolves to a value) so it contains no statements, only expressions. Note that all the expressions center around the parameter of the for loop.

1 Like