Используйте встроенный zip
для итерации одновременно и index
и A
:
result = [row[i] for i, row in zip(index, A)]
Для большей краткости я выразил ваш l oop как список понимания . Ручная итерация по итератору, производимому zip
, также вполне допустима:
result = []
for i, row in zip(index, A):
result.append(row[i])
Также обратите внимание, что обычно создание переменной с таким же именем, как у встроенного, плохая практика, поэтому я бы посоветовал вам переименуйте list
, например, result
, my_list
или более релевантное для контекста имя.