Преобразовать данные из файла в трехмерный список Python

Есть файл с таким вот содержанием:

3 3 3
1..
oo.
...

ooo
..o
.oo

ooo
o..
o.2

Нужно представить это в трехмерном списке:

[[['3', '3', '3'], ['1', '.', '.'], ['o', 'o', '.'], ['.', '.', '.']], [['o', 'o', 'o'], ['.', '.', 'o'], ['.', 'o', 'o']], [['o', 'o', 'o'], ['o', '.', '.'], ['o', '.', '2']]]

with open("INPUT.txt", "r") as in_file:
arr = [list(line.strip()) for line in in_file if line != "\n"]
print(arr)

дошел пока только до этого, но выдает не то

[['3', ' ', '3', ' ', '3'], ['1', '.', '.'], ['o', 'o', '.'], ['.', '.', '.'], ['o', 'o', 'o'], ['.', '.', 'o'], ['.', 'o', 'o'], ['o', 'o', 'o'], ['o', '.', '.'], ['o', '.', '2']]


Ответы (1 шт):

Автор решения: Виктор Иванов

Очень топорно, но у меня получилось это сделать так:

with open("INPUT.txt", "r") as in_file:
tmp = []
arr = []
lines = in_file.readlines()
for i in lines:
    line = list(i.strip())
    if line != []:
        tmp.append(line)
    if line == []:
        arr.append(tmp)
        tmp = []
arr.append(tmp)
for i in arr:
    for j in i:
        for x in j:
            if x == ' ':
                j.remove(' ')

print(arr)
→ Ссылка