Распечатать нижнюю треугольную матрицу без использования numpy - PullRequest
0 голосов
/ 10 мая 2019

Я хочу напечатать заданную матрицу, которая уже находится в нижнем треугольном корабле.Я попытался написать код, как вы можете видеть ниже.Но результат дает мне список всех этих элементов в одном списке. Я хочу, чтобы он печатал каждую строку в разных строках, как в матричной форме.Любая помощь будет принята с благодарностью], [40,60,70]]

Примечание. Английский - это мой второй язык.Спасибо

1 Ответ

1 голос
/ 10 мая 2019

Вы можете просто добавлять фрагменты, а не отдельные элементы:

L1 = [0, 20, 30, 40]
L2 = [20, 0, 50, 60]
L3 = [30, 50, 0, 70]
L4 = [40, 60, 70, 0]

distance = [L1, L2, L3, L4]

mylist = []
for i, l in enumerate(distance[1:]):
    mylist.append(l[:i+1])

print(mylist)

# [[20], [30, 50], [40, 60, 70]]

Или используйте понимание:

[l[:i+1] for i, l in enumerate(distance[1:])] 

Редактировать на основе комментария

enumerate - это просто более питонический способ получения значения и индекса. Вместо этого вы можете использовать range(), это не так просто:

for i in range(1, len(distance)):
    mylist.append(distance[i][:i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...