0
0
PythonHow-ToBeginner · 3 min read

How to Create a Matrix in Python: Simple Guide

You can create a matrix in Python using nested lists where each inner list represents a row. Alternatively, use the numpy library to create matrices as arrays for easier math operations.
📐

Syntax

A matrix in Python can be created as a list of lists, where each inner list is a row of the matrix. For example, matrix = [[1, 2], [3, 4]] creates a 2x2 matrix. Using NumPy, you can create a matrix with numpy.array() like matrix = np.array([[1, 2], [3, 4]]).

Each part explained:

  • list of lists: Outer list holds rows, inner lists hold columns.
  • numpy.array(): Converts nested lists into a NumPy array for matrix operations.

python
matrix = [[1, 2], [3, 4]]  # List of lists

import numpy as np
matrix_np = np.array([[1, 2], [3, 4]])  # NumPy array
💻

Example

This example shows how to create a 3x3 matrix using nested lists and NumPy, then prints both.

python
matrix_list = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

import numpy as np
matrix_np = np.array(matrix_list)

print("Matrix using list of lists:")
for row in matrix_list:
    print(row)

print("\nMatrix using NumPy array:")
print(matrix_np)
Output
Matrix using list of lists: [1, 2, 3] [4, 5, 6] [7, 8, 9] Matrix using NumPy array: [[1 2 3] [4 5 6] [7 8 9]]
⚠️

Common Pitfalls

Common mistakes when creating matrices include:

  • Using a single list instead of nested lists, which creates a 1D list, not a matrix.
  • Modifying one row in a list of lists created by multiplication like matrix = [[0]*3]*3, which makes all rows refer to the same list.
  • Not importing NumPy before using np.array().

python
wrong_matrix = [[0]*3]*3  # All rows are the same object
wrong_matrix[0][0] = 1
print(wrong_matrix)  # All rows change in first column

# Correct way:
correct_matrix = [[0]*3 for _ in range(3)]
correct_matrix[0][0] = 1
print(correct_matrix)
Output
[[1, 0, 0], [0, 0, 0], [0, 0, 0]] [[1, 0, 0], [0, 0, 0], [0, 0, 0]]
📊

Quick Reference

Summary tips for creating matrices in Python:

  • Use nested lists for simple matrices.
  • Use numpy.array() for efficient math and larger matrices.
  • Avoid using list multiplication for nested lists to prevent shared references.
  • Remember to import NumPy with import numpy as np.

Key Takeaways

Create matrices as nested lists where each inner list is a row.
Use NumPy arrays for better performance and matrix operations.
Avoid list multiplication for nested lists to prevent shared references.
Always import NumPy before using its functions.
Print matrices row by row for clear output when using lists.