Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Multi-dimensional lists in Python
Lists are a very widely used data structure in Python. They contain a list of elements separated by commas. But sometimes lists can also contain lists within them. These are called nested lists or multidimensional lists. In this article we will see how to create and access elements in a multidimensional list.
Creating Multi-dimensional Lists
In the below program we create a multidimensional list of 4 columns and 3 rows using nested for loops ?
multlist = [[0 for columns in range(4)] for rows in range(3)] print(multlist)
The output of the above code is ?
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
Creating with Different Data Types
You can also create multidimensional lists with different data types ?
# Mixed data types in multidimensional list mixed_list = [["Mon", "Tue", "Wed"], [2, 4, 9], [1, 1.5, 2]] print(mixed_list)
[['Mon', 'Tue', 'Wed'], [2, 4, 9], [1, 1.5, 2]]
Extending Multi-dimensional Lists
We can add elements to the list created above using methods that are available to the lists. We will use the methods append() and extend() to achieve this ?
multlist = [["Mon", "Tue", "Wed"], [2, 4, 9], [1, 1.5, 2]]
# Adding a new row using append()
multlist.append(["Phy", "Chem", "Math"])
print("After append:")
print(multlist)
# Adding elements to existing row using extend()
multlist[0].extend(["Thu", "Fri"])
print("\nAfter extend:")
print(multlist)
After append: [['Mon', 'Tue', 'Wed'], [2, 4, 9], [1, 1.5, 2], ['Phy', 'Chem', 'Math']] After extend: [['Mon', 'Tue', 'Wed', 'Thu', 'Fri'], [2, 4, 9], [1, 1.5, 2], ['Phy', 'Chem', 'Math']]
Accessing Multi-dimensional Lists
Using Index Notation
You can access elements using row and column indices ?
multlist = [[1, 5, 9], [2, 4, 9], [1, 1, 2]]
# Access specific element
print("Element at row 0, column 1:", multlist[0][1])
print("Element at row 2, column 0:", multlist[2][0])
# Access entire row
print("First row:", multlist[0])
Element at row 0, column 1: 5 Element at row 2, column 0: 1 First row: [1, 5, 9]
Using Nested Loops
We can access all elements in multidimensional list using nested for loops. We design nested for loops to first access the rows and then access the columns ?
multlist = [[1, 5, 9], [2, 4, 9], [1, 1, 2]]
for i in range(len(multlist)):
for j in range(len(multlist[i])):
print(multlist[i][j], end=" ")
print()
1 5 9 2 4 9 1 1 2
Common Operations
Finding Dimensions
multlist = [[1, 5, 9], [2, 4, 9], [1, 1, 2]]
rows = len(multlist)
columns = len(multlist[0]) if multlist else 0
print(f"Rows: {rows}")
print(f"Columns: {columns}")
Rows: 3 Columns: 3
Modifying Elements
multlist = [[1, 5, 9], [2, 4, 9], [1, 1, 2]]
# Modify specific element
multlist[1][2] = 10
print("After modification:")
print(multlist)
After modification: [[1, 5, 9], [2, 4, 10], [1, 1, 2]]
Conclusion
Multi-dimensional lists in Python are created using nested list comprehensions or by directly defining lists within lists. Use index notation like list[row][column] to access elements, and nested loops to iterate through all elements efficiently.
