Отдельная матрица ввода от пользователя - PullRequest
1 голос
/ 04 апреля 2020

Код:

lst = []
for _ in range(int(input())):
    T = int(input())
    for i in range(T):
        matrix = list(map(int, input().split()))
        lst.append(matrix)
    print(lst) 

Ввод:

3
4
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
4
2 2 2 2
2 3 2 3
2 2 2 3
2 2 2 2
3
2 1 3
1 3 2
1 2 3

При вводе этой матрицы ожидаемый результат должен быть [[1, 2, 3, 4], [2, 1, 4, 3], [3, 4, 1, 2], [4, 3, 2, 1]] и т. Д. Для других, но матрица добавляется вместе с другими матрица наконец.

Я хочу получить [[2, 1, 3], [1, 3, 2], [1, 2, 3]]. Получение [[1, 2, 3, 4], [2, 1, 4, 3], [3, 4, 1, 2], [4, 3, 2, 1], [2, 2, 2, 2], [2, 3, 2, 3], [2, 2, 2, 3], [2, 2, 2, 2], [2, 1, 3], [1, 3, 2], [1, 2, 3]].

Как я могу это сделать ??

1 Ответ

1 голос
/ 04 апреля 2020

Ты рядом. Вместо добавления строк каждой матрицы в ваш список, добавьте строки в новую матрицу, а затем добавьте матрицы в список. Что-то вроде

lst = []
for _ in range(int(input())):  # Loop over number of matrices
    T = int(input())
    matrix = []
    for i in range(T):  # Loop over each row
        row = list(map(int, input().split()))
        matrix.append(row)
    lst.append(matrix)

Теперь lst[-1] даст вам последнюю 2D матрицу в последовательности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...