To start this guide, download this zip file.
Lists
A list contains a collection of values. You have already seen variables that hold a single value:
number = 5
A variable that references a list can hold multiple values, in order:
names = ['Maria', 'Mariano', 'Anna', 'Antonino']
numbers = [5, 8, 10, 13, 42]

A list can hold as many values as you want. We can even have an empty list:
twilight_books_i_like = []
Length
To get the length of a list, use len:
number_of_names = len(names)
Here, number_of_names will be equal to 4.
Appending to a list
One of the many functions we can perform on a list is appending items to it. This means adding items to the end of the list. For example:
pets = ['cat', 'horse', 'dog']
pets.append('emu')
This will result in the pets list now containing
['cat', 'horse', 'dog', 'emu'].
Note the syntax here — variable dot function:

You can use input loops to start with an empty list and then add more items to
it. In the zip file you will find a small program in get_names.py that
illustrates how to do this:
if __name__ == '__main__':
names = []
while True:
name = input("Give me a name: ")
if name == 'q':
break
names.append(name)
print(names)
-
We start with an empty list, using
names = []. -
We use the event stream pattern, looping forever and then breaking out of the loop if the person enters ‘q’ instead of a name. (Note, if you were making a program to enter characters in Star Trek, you might not want to do it this way.)
-
We use
append()to add each name to the list.
If you run this program, you will see something like this:
Give me a name: me
Give me a name: you
Give me a name: everyone
Give me a name: q
['me', 'you', 'everyone']
Iteration
Once you have a list, you can iterate (or loop) through it using for ... in:
for number in numbers:
print(number)
Each time through the for loop, Python sets the variable number to one of
the numbers in the list, in order. Since we have set the numbers variable to
[5, 8, 10, 13, 42], the first time through the loop, number = 5. The second
time through the loop, number = 8, and so forth. So this code will print:
5
8
10
13
42
The name of the variable can be whatever you like. For example:
for cute_puppies in numbers:
print(cute_puppies)
However, you want to be sure that your friends can read your code and make sense of it!
Your code is much more readable if you use variables that make sense.