Как обратиться к каждому элементу исходной матрицы в 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

Помогите пожалуйста
  • Вопрос задан
  • 136 просмотров
Решения вопроса 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
Студент
Тебе нужен вывод на экран? Или сохранение каждой строчки матрицы виде строки?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы