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:

Computer Science
Data Science

FAQs on the exercise List Comprehensions

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

Ask or answer a question about this exercise by clicking reply (reply) below!

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

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

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?


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