Чтобы создать матрицу в Python, мы можем использовать список списков, массив NumPy, функцию array(), вложенную в циклы, или функцию map(). Списки предлагают простой подход путем вложения списков в строки, а функции массива или матрицы() NumPy предоставляют эффективные и многофункциональные варианты.

Вложенные циклы for позволяют лучше контролировать создание матриц, особенно при инициализации значений, а функция 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

Как создать матрицу в Python

Способ 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)

используя массив NumPy

Способ 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:

с помощью функции array()

Метод 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

используя вложенный цикл for

Способ 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()

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

Добавить комментарий