1D массив массивов, который смещается вправо для каждой последовательной строки в новом 2D массиве

Я пытаюсь оптимизировать некоторый код, удаляя циклы for и используя пустые массивы только при работе с большими наборами данных.

Я хотел бы взять одномерный массив, например:

a = [1, 2, 3, 4, 5]

и создать двумерный массив с нулевыми значениями, в результате чего значение в каждом столбце сдвигается вдоль места, например, в вышеприведенном случае для функции I, которая должна иметь функцию, которая возвращает:

[[1 2 3 4 5]
 [0 1 2 3 4]
 [0 0 1 2 3]
 [0 0 0 1 2]
 [0 0 0 0 1]]

Я нашел примеры, которые используют функцию шага для создания чего-то похожего, например:

[[1 2 3]
 [2 3 4]
 [3 4 5]]

Однако я пытаюсь сдвинуть каждую из моих колонн в другом направлении. Альтернативно, можно рассматривать проблему как размещение первого элемента a на первой диагонали, второго элемента на второй диагонали и так далее. Однако я хотел бы еще раз подчеркнуть, как я хотел бы избегать использования цикла for, while или if полностью. Любая помощь будет принята с благодарностью.

Ответы на вопрос(2)

Ваш ответ на вопрос