Например, если мой исходный вложенный список имеет вид:
[[' ', 'Y', ' ', 'X'],
['S', ' ', 'V', ' '],
['T', 'X', 'Y', 'S'],
['X', ' ', 'X', 'Y']]
Я бы хотел, чтобы результат был:
[[' ', ' ', ' ', ' '],
['S', ' ', 'V', 'X'],
['T', 'Y', 'Y', 'S'],
['X', 'X', 'X', 'Y']]
Так что, в основном, отбрасывайте все буквы вниз, не получая избавиться от любых пробелов и сохранить структуру списка.
Вот то, что я имею до сих пор. Мой результат дает мне то, что неверно.
[[' ', ' ', ' ', ' '],
['S', 'Y', 'V', 'X'],
['T', ' ', 'Y', 'S'],
['X', 'X', 'X', 'Y']]
def find_letters(m,constant):
try:
for i in range(len(m[constant])):
if m[constant][i] == ' ':
if m[constant - 1][i] != ' ':
m[constant][i] = m[constant - 1][i]
m[constant - 1][i] = ' '
find_letters(m,constant - 1)
except IndexError:
pass
l = [[' ', 'Y', ' ', 'X'],
['S', ' ', 'V', ' '],
['T', 'X', 'Y', 'S'],
['X', ' ', 'X', 'Y']]
constant = -1
(find_letters(l,constant))