BYU logo Computer Science


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:

numbers = [5, 8, 10, 13, 42]
names = ['Maria', 'Mariano', 'Anna', 'Antonino']

A list can hold as many values as you want. We can even have an empty list:

twilight_books_i_like = []


To get the length of a list, use len:

number_of_names = len(names)

Here, number_of_names will be equal to 4.


The items in a list are indexed starting from zero:

a list of names, showing that the first item is indexed at zero, the next at 1, and so forth

To access individual items in the list, use square brackets:

grandmother = names[2]

In this case, grandmother would have the value Anna. Likewise, names[0] would be Maria.

We can count backwards from the end using negative numbers, so names[-1] is Antonino.


Once you have a list, you can iterate (or loop) through it using for ... in:

for number in numbers:

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:


The name of the variable can be whatever you like. For example:

for cute_puppies in numbers:

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.


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']

This will result in the pets list now containing ['cat', 'horse', 'dog', 'emu'].