Чтобы создать матрицу в 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.