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

Если что код поворачивает список на 90 градусов

o = [input() for i in range(int(input()))]
def turn(a):
    list1 = zip(*a[::-1])
    return [list(e) for e in list1]
o = list(turn(o))
[print(i, sep = "", end='\n') for i in o]
#ввод 2
        1 2
        2 1
#выводит так    ['2', '1']
                [' ', ' '] - ненужная строка 
                ['1', '2']
#а нужно    2 1
            1 2

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

Автор решения: Dmitry

Пустая строка формируется из знаков пробела, которые вы подаете на вход. Если воспользоваться вот так, то пробельных символов не будет. zip формирует из всех символов кортежи. В том числе и пробелов

# ввод 
2
12
21

а для печати можно использовать так

for i in o:
  print(*i) 

вывод

2 1
1 2

Удалить пробелы можно так

def turn(a):
    a = [i.replace(" ", "") for i in a]
    list1 = zip(*a[::-1])
    return [list(e) for e in list1]
→ Ссылка
Автор решения: Zhihar

если все таки разбть строки на слова, то тогда в вашем коде надо будет изменить лишь первую и последнюю строки

o = [input().split() for i in range(int(input()))]
def turn(a):
    list1 = zip(*a[::-1])
    return [list(e) for e in list1]
o = list(turn(o))
[print(' '.join(i)) for i in o]

опять таки если чуть-чуть подчистить код:

turn = lambda a: zip(*a[::-1])

o = [input().split() for i in range(int(input()))]
o = turn(o)

print(*[' '.join(i) for i in o], sep='\n')
→ Ссылка