Programming with Python

Storing Multiple Values in Lists

Learning Objectives

  • Explain what a list is.
  • Create and index lists of simple values.

Just as a for loop is a way to do operations many times, a list is a way to store many values. Unlike NumPy arrays, lists are built into the language (so we don’t have to load a library to use them). We create a list by putting values inside square brackets:

odds = [1, 3, 5, 7]
print 'odds are:', odds

We select individual elements from lists by indexing them:

print 'first and last:', odds[0], odds[-1]

and if we loop over a list, the loop variable is assigned elements one at a time:

for number in odds:
    print number

There is one important difference between lists and strings: we can change the values in a list, but we cannot change the characters in a string. For example:

names = ['Newton', 'Darwing', 'Turing'] # typo in Darwin's name
print 'names is originally:', names
names[1] = 'Darwin' # correct the name
print 'final value of names:', names

works, but:

name = 'Bell'
name[0] = 'b'

does not.

There are many ways to change the contents of lists besides assigning new values to individual elements:

odds.append(11)
print 'odds after adding a value:', odds
[1, 3, 5, 7, 11]
del odds[0]
print 'odds after removing the first element:', odds
[3, 5, 7, 11]
odds.reverse()
print 'odds after reversing:', odds
[11, 7, 5, 3]