Чтобы создать матрицу в Python, мы можем использовать список списков, массив NumPy, функцию array(), вложенную в циклы, или функцию map(). Списки предлагают простой подход путем вложения списков в строки, а функции массива или матрицы() NumPy предоставляют эффективные и многофункциональные варианты.
Вложенные циклы for позволяют лучше контролировать создание матриц, особенно при инициализации значений, а функция map() полезна для генерации матриц на основе пользовательского ввода или других последовательных данных.
- Метод 1: используя списки
- Способ 2: используя массив NumPy
- Способ 3: с помощью функции array()
- Метод 4: используя вложенный цикл for
- Способ 5: с помощью функции map()
Метод 1: используя списки
Создать матрицу с использованием списка в Python очень просто. Мы можем создать матрицу как список списков, где каждый внутренний список представляет строку в матрице.
Пример. Вот пример кода для создания матрицы в Python и функции для проверки того, является ли данный список списков матрицей.
def create_matrix(rows, cols, value=0):
return [[value for _ in range(cols)] for _ in range(rows)]
def is_matrix(matrix):
if not matrix or not isinstance(matrix, list) or not all(isinstance(row, list) for row in matrix):
return False
row_length = len(matrix[0])
return all(len(row) == row_length for row in matrix)
matrix = create_matrix(3, 4)
print("Matrix:", matrix)
print("Is this a matrix?", is_matrix(matrix))
Вывод:
| функция create_matrix | При этом создается матрица с заданными размерами и заполняется значением по умолчанию. |
| функция is_matrix | Это проверяет, является ли данная структура списком списков в Python со строками одинаковой длины, что является основным требованием для того, чтобы структура считалась матрицей. |
Matrix: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] Is this a matrix? True

Способ 2: используя массив NumPy
Создать матрицу в Python с использованием массива NumPy в Python — это простой метод.
Пример:
import numpy as np
matrix = np.array([[1, 2], [3, 4]])
# Printing the matrix
print("Matrix:")
print(matrix)
# Verifying that it's a matrix
print("\nType of the object:", type(matrix))
print("Shape of the matrix:", matrix.shape)
Вывод: здесь мы создадим 2D-массив, используя библиотеку NumPy в Python.
Matrix: [[1 2] [3 4]] Type of the object: Shape of the matrix:(2, 2)

Способ 3: с помощью функции array()
Используйте функцию numpy.matrix() для создания матрицы в Python. Мы можем передать в эту функцию список списков или строковое представление матрицы.
Пример: давайте создадим матрицу 2*2 в Python.
import numpy as np
# Create a matrix using numpy.matrix()
matrix_example = np.matrix([[1, 2], [3, 4]])
# Display the matrix
print("Matrix:")
print(matrix_example)
# Check if it's a numpy matrix
print("\nType of the object:")
print(type(matrix_example))
Выходные данные: в Python создается матрица 2×2. Тип созданного объекта затем распечатывается функцией type().
Matrix: [[1 2] [3 4]] Type of the object:

Метод 4: используя вложенный цикл for
Чтобы создать матрицу в Python с использованием вложенных циклов for, мы можем инициализировать пустой список, а затем заполнить его подсписками, где каждый подсписок представляет строку в матрице. Элементы каждой строки могут быть определены по мере необходимости.
Пример: здесь нам нужно создать матрицу в Python, используя вложенный цикл.
matrix = []
for i in range(3):
row = []
for j in range(3):
row.append(0)
matrix.append(row)
# Verifying that the created structure is a matrix
def is_matrix(m):
if not m: # Check if the matrix is not empty
return False
row_length = len(m[0])
return all(len(row) == row_length for row in m)
# Displaying the matrix and verification result
print("Matrix:")
for row in matrix:
print(row)
print("\nIs this a matrix? ", is_matrix(matrix))
Вывод: здесь мы присвоили значение 0 каждому элементу матрицы.
Matrix: [0, 0, 0] [0, 0, 0] [0, 0, 0] Is this a matrix? True

Способ 5: с помощью функции map()
Создание матрицы в Python с использованием функции map() и пользовательского ввода — более интерактивный подход. Этот метод позволяет нам предлагать пользователю вводить элементы матрицы построчно.
Затем функция map() используется для преобразования входных строк в желаемый тип данных, обычно целые числа или числа с плавающей запятой.
Пример:
rows = int(input("Enter the number of rows: "))
columns = int(input("Enter the number of columns: "))
matrix = []
for i in range(rows):
row = list(map(int, input(f"Enter row {i+1} elements separated by space: ").strip().split()))[:columns]
matrix.append(row)
# Print the matrix
for row in matrix:
print(row)
Вывод: Здесь мы берем пользовательский ввод и присваиваем это значение матрице.
Enter the number of rows: 4 Enter the number of columns: 5 Enter row 1 elements separated by space: 1 2 2 5 6 Enter row 2 elements separated by space: 4 5 6 7 5 Enter row 3 elements separated by space: 0 2 1 5 8 Enter row 4 elements separated by space: 1 9 7 5 0 [1, 2, 2, 5, 6] [4, 5, 6, 7, 5] [0, 2, 1, 5, 8] [1, 9, 7, 5, 0]

Таким образом, мы можем использовать функцию map() для создания матрицы в Python.