Как обратиться к каждому элементу исходной матрицы в Python?

У меня есть код который работает с матрицей находящейся в файле и работает с кодами module_1 module_2 и module_3
import csv
from matplotlib.pyplot import matshow, show
from module_1 import task_1
from module_2 import task_2
from module_3 import task_3
def read(csvfile):
    with open(csvfile, 'r') as file:
        r = list(csv.reader(file))
    for x in range(len(r)):
        for y in range(len(r[x])):
            r[x][y] = int(r[x][y])
    return r
def write(matrix, name = "result.csv"):
    with open(name, 'w') as file:
        for x in range(len(matrix)):
            for y in range(len(matrix[x])):
                if y == len(matrix[x]) - 1:
                    file.write(str(matrix[x][y]) + "\n")
                else:
                    file.write(str(matrix[x][y]) + " ")
t1 = task_1(read("tekst.csv"))
for x in range(len(t1)):
    print(t1, end='\n')
print('\n')
t2 = task_2(read("tekst.csv"))
for x in range(len(t2)):
    for y in range(len(t2[x])):
        print(t2[x][y], end=' ')
    print()
t3 = task_3(read("tekst.csv"))
for x in range(len(t3)):
    print(t3[x], end='\n')
print('\n')
write(t2)
matshow(t2)
show()

module_1 меняет матрицу на нули
def task_1(m): 
    d = [0]*len(m)
    return d

И происходит вывод:
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]

Но мне нужно чтобы был вывод:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

Так же и в module_3 он удаляет последние 4 строки матрицы:
def task_3(m):
    return m[:-4]

Вывод:
[1, 2, 3, 4, 5, 6, 7, 8]
[8, 7, 6, 5, 4, 3, 2, 1]
[2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2]

А нужно:
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1
2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2

Входные данные в файле tekst.csv
1,2,3,4,5,6,7,8
8,7,6,5,4,3,2,1
2,3,4,5,6,7,8,9
9,8,7,6,5,4,3,2
1,3,5,7,9,7,5,3
3,1,5,3,2,6,5,7
1,7,5,9,7,3,1,5
2,6,3,5,1,7,3,2

Помогите пожалуйста
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Замените ваш вывод, например, для t1:
for x in range(len(t1)):
  print(*t1, sep=" ")

А для t3:
for x in range(len(t3)):
  print(*t3[x], sep=" ")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@LeoMay
Студент
Тебе нужен вывод на экран? Или сохранение каждой строчки матрицы виде строки?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы