Topics

Lists in Python

Welcome to another tutorial, here you will learn about Lists in Python. In the previous tutorial, you learned about strings and their properties, as well as string functions.

A list is an ordered set of values enclosed in a square bracket [ ]. One of the features of a list is that it is mutable, that is, its values can be modified. A is a set of values, therefore, we can use the index in square brackets [ ] to identify a value belonging to it.

In a List, the values that make it up are known as elements, they can be of any data type. As such, a list data type can be regarded as a container that holds a number of elements in a given order. Indexing is used to access the elements of a list, and these elements can be called from both forward and backward directions, just like strings.

 

Constructing a List

A list, as you learned, is a collection of similar data types. This could be an integer, a complex number, a string, a float, or any defined data type in python. In naming a list, it is done the same way variables are named, as each element is accessed by its index number. As said earlier, python has both forward and backward indexing, so, there is one positive and one negative number to access that element. During coding, when defining a list, you have to enclose each element of the list within square brackets, and each is separated by commas.

Now, if we want to create an empty list; this is actually possible, in situations where we want to add elements to our program later. So, we can initialize it by declaring an empty square bracket. Check out the example below:

>>> myEmptyList = []

For instance, a list of some integers will be,

>>> myIntegerList = [9, 4, 3, 2, 8]

For float values, the list is:

>>> myFloatList = [2.0, 9.1, 5.9, 8.123432]

For characters, the list is:

>>> myCharList = ['p', 'y', 't', 'h', 'o', 'n']

Then, for strings, the list is:

>>> myStringList = ["Hello", "Python", "Ok done!"]

In addition, we have other basic methods that can be used to create a list. They are highlighted below.

 

Deriving from another List

Now, if there is a list present: that is:

>>> myList1 = ['first', 'second', 'third', 'fourth', 'fifth']

After, you can create a new list, that typically consists of some or all the elements of myList1. At this point, a direct assignment can be done for complete copying of elements; or you can use slicing to take only a few of the elements.

An example for complete copying:

>>> myList2 = myList1

An example to use slicing to copy only the first three elements,

>>> myList2 = myList1[0:3]

An example of copying the last three elements,

>>> myList2 = myList1[-3]

 

Adding Serial Numbers in a List

Some shortcuts can be used to add serial whole numbers (i.e., 0, 1, 2, ...) into a given list. let's begin.

To store 0 to (n-1) numbers in a list use range(n) function.

>>> myList1 = range(9)

The above will create a list with numbers 0 to 8 inside it.

>>> myList1 = range(5, 9)

From above, we will get a list having numbers 5, 6, 7, and 8, that is, the argument's first number to the (argument's last number ‘-1’).

The function range() can be used for different cases.

Again, if we want to create a list with squares of all whole numbers, but there exist different programming approaches to this problem, however, python presents a one-line method. Let’s take a look at some new concepts, just relax!

>>> myQuickList = [x**2 for x in range(5)]

From the above example, our final list will have elements such as [0, 1, 4, 9, 16], that is:  x**2; where x is varying from 0 to (5-1).

The for a keyword is used in the example above, if you are not conversant with this keyword, it is one of the keywords that make programming do a lot of mundane and redundant tasks in a program, e.g. the keyword creates loops of execution. Do not worry, you learn about this in a subsequent tutorial.

 

Appending to a List

In Python and any other programming language, appending means adding to the existing. 

Recall, that an empty list can be created in python by simply declaring an empty bracket. But, how do you insert an element into the empty list? at this junction, we need the append function. Therefore, with this function, any element can be added at the end of the list in one line without any stress.

>>> emptyList = []
>>> emptyList.append('The Big Bang Theory')
>>> emptyList.append('F.R.I.E.N.D.S')
>>> emptyList.append('How I Met Your Mother')
>>> emptyList.append('Seinfeld')

From above, that will create a list of a few of the best sitcoms (and it is not empty again). Below is what we will get if we print the list.

>>>print (emptyList)

Output:

['The Big Bang Theory', 'F.R.I.E.N.D.S', 'How I Met Your Mother', 'Seinfeld']]


Indexing of elements

In the previous tutorial on a string, we discussed how to use an index to access the sequence of characters in a string. However, in the case of a list, index numbers can be used as well. 

In the example below, we will create a list of strings and then access the individual stings using index numbers.

>>> fruitsList = ["Orange", "Mango", "Banana", "Cherry", "Blackberry", "Avocado", "Apple"]

From the example above, there is a list of 7 elements. For us to determine the elements in a list, the function len can be used. Check the example below:

>>> print (len(fruitsList));

Output:

7