Как вывести список без ненужных квадратных скобок, запятых и ненужной строки
Если что код поворачивает список на 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')