Если я имел три списка, такие какПечать списков на столах в питона
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
И хотел напечатать его, как это
1 4 7
2 5 8
3 6 9
Как бы я сделать это?
Если я имел три списка, такие какПечать списков на столах в питона
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
И хотел напечатать его, как это
1 4 7
2 5 8
3 6 9
Как бы я сделать это?
Это следует сделать это:
'\n'.join(' '.join(map(str,tup)) for tup in zip(a,b,c))
+1, если по какой-либо другой причине, чем вы ответили на это через 36 секунд. – John
Я думаю, вы хотите '' '', потому что OP имеет два пробела между столбцами. Или оставьте его как '' ''и сделайте' str (x) .ljust (2) 'вместо' str'. – abarnert
Удерживайте, это неправильно ... OP пытается распечатать списки, транспонированные. – abarnert
Твердая часть этого транспонировать массив. Но это легко, с zip
:
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
t = zip(a, b, c)
Теперь вы просто распечатать его:
print('\n'.join(' '.join(map(str, row)) for row in t))
IMHO, очень читаемое решение. Мне нравится держать zip отдельно (в отличие от других ответов), потому что транспонирование и отображение - это принципиально разные вещи. –
С список понимания выражения генератора без функции отображения:
'\n'.join(' '.join(str(y) for y in x) for x in zip(a,b,c))
Во-первых, в тех случаях, когда все, что вы делаете, отображает хорошо названную функцию, которую вы уже имеете, почему бы не использовать 'map'? Да, это менее читаемо, когда вам нужно построить «лямбда» или «частичный», но в этом случае я думаю, что это более читаемо. (Кроме того, у вас нет понимания списка здесь, у вас есть выражение генератора.) – abarnert
Это именно то, что я искал. благодаря! – Outpost67
@abarnert: вы просто сами ответили на свой вопрос: карта без необходимости создает список, который не создается, потому что я использую выражение генератора (извините за ошибочное название, отредактированное). Генератор чище, чем список. Я также должен использовать функциональный эквивалент zip, поэтому добавьте 'from itertools import izip как zip' в начало скрипта. – pvoosten
meaby дублированный HTTP : //stackoverflow.com/questions/13214809/pretty-print-2d-python-list, http://stackoverflow.com/questions/9712085/numpy-pretty-print-tabular-data, http: // st ackoverflow.com/questions/5909873/python-pretty-printing-ascii-tables – gustavodiazjaimes