Join us and get access to thousands of tutorials and a community of expert Pythonistas.
This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.
Populating Lists From Scratch in List Comprehensions
00:00
In the last lesson, you saw how to populate a list using the .append() method inside a for loop. That’s a very important programming structure.
00:08 In fact, we’ll come back to that in the next lesson. But Python has developed a syntax called a list comprehension, which simplifies the code needed to perform that same action.
00:19
It doesn’t use .append() at all, but it’s important enough that you really should see it in this course while you’re looking at how to populate lists.
00:29
Here’s what that same function would look like using a list comprehension. The first thing you notice is the absence of a for loop. List comprehension syntax does the iteration for you automatically.
00:43 You begin with an expression in brackets, the brackets indicating that you’re creating a list. The first thing inside the brackets is a model of what each expression in the list should look like.
00:57
And here, since we’re taking the square root of a number, you see the same expression that you saw in the .append() statement in the previous version.
01:08 Taking the square root of a number—that was the expression for each element you were adding to the list.
01:18
Same expression here. That’s followed by the for clause, which looks similar to the for loop header. It identifies what you mean by the variable number in your expression.
01:32
In this case, it is a single element inside the collection, numbers. So this is a list of the square root of number for each number in the collection numbers.
01:49 This script tests it with the same collection of perfect squares, displaying what this function returns.
02:00
This is show_square_roots2.py. You see the same output. This version saves that list to the variable result, which is then returned.
02:14 But it’s simpler to just return the list comprehension expression directly. You can modify this version. I’m not going to save it to a variable,
02:30 I’m just going to return the list built by that expression. Save it.
02:45
And we can see the same results. List comprehensions are really great. They give you a short, concise way to build a list. But there are times when you really do need to use a for loop, and that’s if you want to do additional processing inside the loop while you populate the list.
Become a Member to join the conversation.