How to Define a 2-D (2-dimensional) List in Python
2-D list or a two-dimensional list is a list of lists.
It typically represents a
matrix with rows and columns.
In this article we will discuss various methods to create 2-D lists in Python.
Example of a 2-D list in python:
[ [1,2,3], [4,2,6], [5,8,7] ]
Methods to create a 2-D list in Python
There are only a few specific methods for creating a 2-D list. Let’s dive deeper into them:
Method 1: Using 2 for loops
for loops are one of the most important
keyword in python.
We can use the mighty
for loop to create a 2-D list but this time we have to use 2
for loops to create a 2-D list.
It is like creating two 1-D lists using
for loop but in the nested pattern.
arr =  c = 1 for i in range(3): ar =  for j in range(2): ar.append(c) c += 1 arr.append(ar) print(arr)
[[1, 2], [3, 4], [5, 6]]
Method 2: Using List comprehension
Instead of using two
for loops, we can create a 2-dimensional list in a more compact way, i.e. by using the list comprehension method.
Creating a list dynamically always consumes less memory and thereby increasing the runtime performance.
But again there are two ways of using the list comprehension method, let us look into both one by one:
In this we dynamically create a list of elements by directly multiplying with the number of columns and rows.
r, c = (4, 5) arr = [*c]*r print(arr)
[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]
Another way is to dynamically create a list of elements but by using
r, c = (5, 4) arr = [[1 for i in range(c)] for j in range(r)] print(arr)
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
We have learnt three methods of initializing a 2-D list in python.
But which method is effective ?
Well , the third method is the most effective method of creating a 2-D list in python since it has both list comprehension with the mighty
In this article, we briefly discussed about the various methods that can be used to create a 2-D list in python and we also discussed about the most effective method for achieving this result.