In this section, we will learn what the List is and how to use it in Python.
What is a List in Python?
List is an object that is capable of taking more than one value.
If you’re not familiar with objects yet, consider a List as a container with the capability of holding multiple values as its elements.
A list is capable of dynamically adding or removing new elements in its body.
Python How to Create a List: Declaring a List in Python
There are two ways to create a list in Python:
1- using a pair of brackets `[]` and putting the elements in it.
2- using the `list()` function.
Here’s the syntax of using a pair of brackets:
variable = [value1, value2, valueN]
The `variable` in this syntax is just used to mention that variables can be used to point to a list. But we can create a list on the fly and use it in the target operation (like passing it as the argument to a function).
`[]`: in order to create a list, we start with the open bracket `[` and end with a closing bracket `]`.
`value1…valueN`: Now, within the body of the list, we can put the values we want that list to have.
Notes:
- A list can have zero or more values set as its elements.
- The number of elements are changeable and we can add or remove the elements after the list is created.
- We can put different types of values as the elements of a list.
Example: create a list in Python
list1 = ["Ellen",True, 10, 23.33] print(list1)
Output:
['Ellen', True, 10, 23.33]
As you can see, the list in this example has 4 values and each of them is of a different type.
Python List: Access List Elements (Items)
Before seeing how to access the elements of a list, you should know that the elements of a list are indexed where the first element has the index number 0 and the last element has the index number equal to the size of the list -1.
For example:
['Ellen', True, 10, 23.33]
In the list above, the first element, `Ellen` has the index number 0, the value `True` has the index of 1, the value 10 has the index of 2 and the value 23.33 has the index number of 3.
Now, in order to access the elements of a list, we use the name of the list (the variable that is pointing to the target list) + a pair of bracket `[]`.
Inside the bracket, we put the index number of the target element we want to access in the target list!
Note: a list also has methods (functions) that allow us to access its elements. You’ll learn more about these methods in later sections.
Example: accessing python list elements
list1 = ["Ellen",True, 10, 23.33] list1[1] = False list1[2] = 1000 list1[3] = "John Doe" print(list1[1]) print(list1[2]) print(list1[3]) print(list1)
Output:
False 1000 John Doe ['Ellen', False, 1000, 'John Doe']
Note: if we access an element of a list on the left side of the assignment operator, that means we want to replace the target value with a new one. But calling an element of a list in any other places will return the current value in that index.
How to Make a List in Python: Python list() Function
As mentioned before, there’s another way of creating a list in Python and that is by using the `list()` function.
This function takes one argument and that is an iterable object or a sequence of numbers created using the range() function. Using either way, the result would be a list with the specified elements.
Example: python list with list() function
list1 = list(("One",2,True,False, "Jack")) list2 = list(list1) list2[0] = "Two" print(list1) print(list2)
Output:
['One', 2, True, False, 'Jack'] ['Two', 2, True, False, 'Jack']
In this example, the `list1` variable has a variable that is created using the elements of a tuple object. Basically, we’ve passed a tuple object (which is an iterable object) as the argument of the `list()` function and so a new list is created that contains a copy of the element in the tuple object.
The second list, `list2` is created using the `list1` object. Basically, we’ve passed the `list1` as the argument to the `list()` function and so a new list is created from the elements of the `list1`. But remember, the `list()` function takes a copy of the target iterable object’s elements. That means the `list1` and `list2` in this example, each has its own independent elements.
Python List Length
In order to get the length of a list (meaning the number of elements currently exist in the target list) we use the `len()` function.
This function works not just for a List object but for other iterable objects as well (including Tuple, Dictionary, and Set).
The `len()` function takes one argument and that is the target iterable object (list in this case) that we want to take its length.
Example: python length of list
list1 = list(("One",2,True,False, "Jack")) list2 = list(list1) list2[0] = "Two" list2.append("Jack") list2.append("Omid") print(f"The size of the list1 is: {len(list1)}") print(f"The size of the list2 is: {len(list2)}")
Output:
The size of the list1 is: 5 The size of the list2 is: 7
Python Empty List
As mentioned before, a list can have 0 or more elements! A list with no elements is considered as an empty list.
In order to create such list all we need to do is to assign an empty pair of brackets `[]` to a variable.
Example: creating an empty list in Python
list1 = [] print(type(list1)) print(len(list1))
Output:
<class 'list'> 0
Python Index Out of Range Error
When creating a list with x number of elements (let’s say 4 elements) but then try to access to an element in an index number that does not exist for that list (let’s say calling the index number 10), we get an error that is known as “Index Out of Range”. This error basically is telling us that the index we’ve put to access an element in a list does not exist!
Example: python index out of range error
list1 = [1,2,3,4,5] list1[100]
Output:
IndexError: list index out of range
Note that here there’s only 5 values in the list, but then we’ve tried to access the value in the index number 100, which does not exist! That’s why we got the error you see on the output.
Python Print a List
The simplest way of printing the elements of a list is to put that list as the argument of the `print()` function and that will show the elements of the list on the output stream.
But also we can use the `for` loop and traverse the elements of the target list and then print them to the output stream.
Example: print list python
list1 = ["Jack","Ellen","John","Omid","Elon"] print(list1) for element in list1: print(element)
Output:
['Jack', 'Ellen', 'John', 'Omid', 'Elon'] Jack Ellen John Omid Elon
List Operations Python
In Python, we can multiply a list as well. When multiplying a list, the elements of the list will be copied by the specified number.
Example: multiplying a list in python
list1 = [1,2,3,4] list1 = list1*3 print(list1)
Output:
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
Python List of Lists
As mentioned before, the value we put on a list can be of any type! That includes another list as well!
Let’s see a list with other lists as its elements.
Example: creating list of lists in Python
list1 = [ [1,2,3,4], ["Jack","John","Ellen"], [True,False,True,10,20] ] for li in list1: for element in li: print(element)
Output:
1 2 3 4 Jack John Ellen True False True 10 20
Python in List
Using the `in` operator and `if` statement, we can check a list to see if it has a particular value or not.
Example: checking if an item exists in a python list via in operator
list1 = ["Jack","Ellen","John","Omid","Elon"] if "Omid" in list1: print("Yes the value Omid is in the list1") else: print("The list1 does not have the value Omid in it")
Output:
Yes the value Omid is in the list1