Собрав все это вместе и удалив ненужные внутренние преобразования в список, вы получите один вкладыш вверху этого поста.

тим, у меня есть список:

board = [2, 4, 0, 2, 8, 4, 4, 8, 0, 2, 0, 0, 4, 0, 2, 2]

и у меня уже есть некоторый код, который заставит список отображаться так:

2 4 0 2
8 4 4 8
0 2 0 0
4 0 2 2

Итак, есть ли способ удалить каждый 0 из каждой строки и добавить его обратно в конец (даже если в списке есть разные значения), чтобы доска теперь выглядела так:

2 4 2 0
8 4 4 8
2 0 0 0
4 2 2 0

Я хочу сделать это с помощью цикла, а не по отдельности писать отдельный код для каждой строки.

Также вы можете сделать это, не делая первоначальный список

board = [[2, 4, 0, 2], [8, 4, 4, 8], [0, 2, 0, 0], [4, 0, 2, 2]]

Код для 1 строки будет выглядеть так:

board = [2, 0, 0, 2]
k = len(board)
board[:] = (value for value in board if value != 0)
while len(board) < k:
    board.append(0)
print(board)

Output = [2, 2, 0, 0]

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

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