Вы можете просто добавлять фрагменты, а не отдельные элементы:
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])