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 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 oe 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 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 for 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 for 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
More to Read:
Python List Access Items
Python List Slice
Python List Loop
Python List Comprehension
Python List Sorting
Python List Copy
Python List Join
Python List Methods