Structured data
We will often want to work with large groups of data. Rather than providing each number its own value, we need to manage the data into natural structures: grocery lists, matrices, groups of employee medical records. We will explain a simple but enormously useful and ?exible list, which is conveniently create into Python: the list. The precise information of how lists are shown inside a computer vary from language to language. We will take an abstract model in which we think of a list as an ordered sequence of memory locations that numbers. So, for example, in Python, we may show a list of three integers as:
Now that we have lists, we have some new kinds of statements, which let us extract elements of a list by specifying their indices. An index of 0 related to the ?rst element of a list. An index of -1 related to the last element So, if a is bound as above, then we would have:
>>> a[0]
2
>>> a[2]
9
>>> a[-1]
9
>>> a[3]
Traceback (most recent call last): File "", line 1, in IndexError: list index out of range.Note that if we attempt to access an element of the list that is not present, then a exception is generated.
It is also possible to have an empty list, which is given in Python as []. We will show it in our memory diagrams as a short box. So example, this list looks like this in memory:
>>> z = [3, [], [[]]]
Python has a useful method, len, which takes a list as an argument and gives its size. It does not look inside the elements of the list-it just returns the number of elements at the top level of list. So, we take
>>> len([1, 2, 3])
3
>>> len([[1, 2, 3]])
1