Вы должны немного изменить свой код, чтобы он работал правильно.
import fileinput
order = int(input())
arr_input = [int(num) for num in input().split(' ')]
arr = []
index = 0
for j in range(order):
arr.append([])
for i in range(order):
for j in range(order):
print(index, i , j)
arr[j].append(arr_input[index])
index += 1
print(arr)
Я могу объяснить, почему вы получаете IndexError: список индекса выходит за пределы диапазона
arr[j][i] = arr_input[index]
через эту строку кода вы пытаетесь получить доступ к j-й строке и i-му столбцу массива arr, но arr - это просто пустой массив.
так что сначала вы должны сделать это
for j in range(order):
arr.append([])
p.s: при присваивании значений в пустом массиве всегда используйте метод append (), чтобы избежать «ошибки индекса списка вне диапазона».
Надеюсь, это поможет вам