Lists

Index, slice, mutate, append, extend, and unpack.

A list is an ordered, mutable sequence. Square brackets, commas between items.

Goal

Index, slice, append, and unpack a list.

Build and read

cities = ["Nairobi", "Mombasa", "Kisumu", "Nakuru"]
print(cities[0], cities[-1])
print(cities[1:3])
print(len(cities))
print("Kisumu" in cities)

Mutate

scores = [98, 91, 95]
scores.append(88)
scores.extend([70, 64])
scores[1] = 92
print(scores)
print(scores.pop())
print(scores)

append adds one item. extend adds each item from another sequence. pop() removes the last item (or pop(i) at index i).

Loop a list

for city in ["Nairobi", "Mombasa", "Kisumu"]:
    print(city.upper())

Unpack

first, second, *rest = ["Ada", "Alan", "Grace", "Linus"]
print(first, second, rest)

Sort (copy vs in place)

scores = [91, 98, 70, 95]
print(sorted(scores))
print(scores)
scores.sort()
print(scores)
print(sorted(["Nia", "Ada", "Grace"], reverse=True))

sorted returns a new list. .sort() changes the list and returns None.

Tip

A list of lists is fine: rows = [["Ada", 98], ["Alan", 91]]. For named fields, prefer a dict (next chapters).