У меня есть матрица перестановок, представляющая собой квадратную матрицу и элементы либо 1, либо 0.
p = [[1, 0, 0, 0],
[0, 0, 1, 0],
[0, 1, 0, 0],
[0, 0, 0, 1]]
Если я умножу p
на список int
, положение элементов в списке будет изменено. Например
a_num = [1, 3, 2, 4]
np.dot(np.array(p), np.array(a_num).reshape(4,1))
# results is [1, 2, 3, 4]
Теперь я хочу изменить список str
:
a_str = ['c1', 'c3', 'c2', 'c4']
до
['c1', 'c2', 'c3', 'c4']
Вы знаете, как этого добиться с помощью матрицы p
? Обратите внимание, что мое реальное приложение может содержать в списке десятки элементов.
Для вашей информации. Есть пост о
Как генерировать матрицу перестановок на основе двух списков стр.