Python List of Lists
Python List of Lists
Python List of Lists is a Python list containing elements that are Lists.
We know that a Python List can contain elements of any type. So, if we assign Python lists for these elements, we get a Python List of Lists.
Python List of Lists is similar to a two dimensional array. Inner lists can have different sizes.
Create List of Lists in Python
1. Create List of Lists using List Initializer
In the following program, we create a list containing lists as elements. We shall use list initializer (square bracket) notation.
Python Program
list_of_lists = [['apple', 'banana', 'cherry'],
[100, 200, 300],
[3.14, 5.87, 9.11]]
print(list_of_lists)
Output
[['apple', 'banana', 'cherry'], [100, 200, 300], [3.14, 5.87, 9.11]]
The type of elements that we store inside the inner list can be independent of others.
2. Create List of Lists using List append()
We can also use List append() function, to create an empty outer list, and then add inner lists.
Python Program
list_1 = ['apple', 'banana', 'cherry']
list_2 = [100, 200, 300]
list_3 = [3.14, 5.87, 9.11]
# Create an empty list of lists
list_of_lists = []
# Append inner lists to the outer list
list_of_lists.append(list_1)
list_of_lists.append(list_2)
list_of_lists.append(list_3)
print(list_of_lists)
Output
[['apple', 'banana', 'cherry'], [100, 200, 300], [3.14, 5.87, 9.11]]
3. Create List of Lists using List Comprehension
We can also use List Comprehension to create a list of lists.
For example, in the following program, we create a list of lists with integer values as items in the inner lists. This would appear like a matrix.
Python Program
rows = 3
cols = 4
matrix = [[x*y for x in range(cols)] for y in range(rows)]
for row in matrix:
print(row)
Output
[0, 0, 0, 0]
[0, 1, 2, 3]
[0, 2, 4, 6]
Iterate over inner lists
You can use looping statements like While loop, or For loop to iterate over the inner lists.
In the following program, we shall use while loop to iterate over inner lists.
Python Program
list_of_lists = [['apple', 'banana', 'cherry'],
[100, 200, 300],
[3.14, 5.87, 9.11]]
i = 0
while i < len(list_of_lists):
print(list_of_lists[i])
i += 1
Output
['apple', 'banana', 'cherry']
[100, 200, 300]
[3.14, 5.87, 9.11]
Also, in the following example, we shall learn how to use for loop to iterate over the inner lists of Python list of lists.
Python Program
list_of_lists = [['apple', 'banana', 'cherry'],
[100, 200, 300],
[3.14, 5.87, 9.11]]
for list_i in list_of_lists:
print(list_i)
Output
['apple', 'banana', 'cherry']
[100, 200, 300]
[3.14, 5.87, 9.11]
Iterate through items of inner lists
To iterate over the items of inner lists in a list of lists, you can use nested loop statements.
For example, in the following program, we take a list of lists in list_of_lists, and then use a nested For loop where the outer For loop iterates through the inner lists, and the inner For loop iterates through the items in the inner lists.
Python Program
list_of_lists = [['apple', 'banana', 'cherry'],
[100, 200, 300],
[3.14, 5.87, 9.11]]
for index, list_i in enumerate(list_of_lists):
print(f"Iterating over items in inner list {index}")
for item in list_i:
print(item)
Output
Iterating over items in inner list 0
apple
banana
cherry
Iterating over items in inner list 1
100
200
300
Iterating over items in inner list 2
3.14
5.87
9.11
Remove an inner List from List of Lists
Just like you remove an item from a list, you can remove an inner list from list of lists.
In the following example, we will use del keyword to remove list at index 1.
Python Program
list_of_lists = [['apple', 'banana', 'cherry'],
[100, 200, 300],
[3.14, 5.87, 9.11]]
del list_of_lists[1]
print(list_of_lists)
Output
[['apple', 'banana', 'cherry'], [3.14, 5.87, 9.11]]
Summary
In this tutorial of Python Examples, we learned how to define list of lists in Python, how to traverse the inner lists, how delete an inner list, etc., with example programs.