Order.. matters.. And in Python, lists make it easy to work with ordered data. Lists are

a built-in data structure for storing and accessing objects which belong in a specific

sequence. We will now learn how to create and use lists, and we will do so in a linear

and orderly fashion...

There are two ways to create a list. One way

is to use the list constructor. But a simpler and more common way is to use brackets.

When creating a list, you can also pre-populate it with values. For example, let’s create

a list with the first few prime numbers.

You can always add values later by using the “append” method which allows you to add

new values to the end of the list. Let’s append the next two prime numbers: 17… and

19...

If you display the list, you will see it contains the new values. Notice how lists preserve

the order of the data - this is different from sets. In sets, the order is not important.

In lists, order is everything. You do not have to view the entire list. If

you want to see a specific value, you can access it by its index. In computer science,

you start counting with 0, not 1. So the elements in our list “primes” are indexed 0.. 1..

2.. 3.. 4.. 5.. 6.. and 7.. To view the first item, you type the name

of the list, and the index in brackets. The first item is 2.

The second item has index 1, and the second item is 3.

And so on…

Notice how the indices increase by one as you go from left to right.

And they decrease by one when you go from right to left.

When you get to the beginning, the index is 0. If you decrease the index once more, you

get -1. Here, Python wraps back around to the end of the list. So the last item is -1,

the next to last is -2, and so on. This is convenient when you want to look at

the values at the end of a list. The last item is 19…

The next to last prime is 17…

And we reach the beginning of the list with index -8.

Be careful - you can only wrap around once. If you try to find the value of index -9,

you get an index error.

Another way to access values in a list is

by slicing. This lets you retrieve a range of values from your list.

We will continue to use our list of primes.

To slice this list, type the name of the list, bracket, a starting index, a colon, a stopping

index, then a closing bracket… The result is a sublist that starts at index 2, and continues

until it reaches index 5. Be careful. Slicing includes the value at the starting index,

but excludes the stopping index. The beginning value is included; the ending value is not.

One more slice… This will start at the beginning, which is index 0, and continue to index 6,

which is 17. It will not include the final number, so this slice includes the primes

from 2 through 13.

Lists can contain more than prime numbers.

They can contain integers…booleans… strings… floats… and even other lists.

Many languages require lists to contain values of the same type, but not Python. With Python,

you are free to insert multiple data types in the same list.

Lists can also contain duplicate values. Here is another way lists are different from sets.

For example, suppose you want to record the numbers you roll on a pair of dice. Pretend

you roll a 4.. 7.. 2.. 7.. 12.. 4 and 7.. If you look at the list, all the values are

there, even the repeated rolls.

You can also combine lists. To see how, create

two separate lists: A list of numbers…

And a list of letters… To combine these two lists into a single list,

use the plus sign. Numbers + letters equals 1, 2, 3 .. a, b, c...

But order matters. If you reverse this and

compute letters + numbers you get a, b, c.. 1, 2, 3..

Combining lists is called “concatenation”.

Observe. The list of numbers..

and the list of letters are unchanged.

There are many other methods for working with

lists. To see them all, pass any list to the directory function.

To learn how to use one of these methods, use the help function. For example, there

is a method for reversing a list. The help text gives full details on what it does and

how to use it.

Lists start at 0 and end… ... they end precisely

when you are finished. You can slice them… You can concatenate them… You can reverse

them… You can even clear them… If I were to make a list of all the uses of lists, I

would have a very, VERY long list…