Как вывести 3 массива в 3 столбца в питоне
как вывести 3 подмассива в 3 столбца, как я понимаю, нужно задать ему координаты х и у
table[x][y]
что-то на подобе такого, но к сожелению, я никак не могу понять как в питоне их записать (а в гугле я смог найти функции np, но как сделать это без них). Нужно создать дополнительную функцию ?
tableData = [['cherries', 'banana', 'apples', 'bobs'],
['Alice', 'Carol', 'Bob', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def printTable(table):
for i in table:
for j in i:
print(j.rjust(len(max(i)), '+'))
printTable(tableData)
благодарен заранее
Ответы (3 шт):
Вам нужно использовать аргумент end в функции print(). По умолчанию этот аргумент равен \n (переносу строки). Вы можете изменить этот аргумент с помощью:
print(*что-то*, end = " ")
Таким образом в конце выведется не перенос строки, а то, чему равен аргумент end.
В конце вы просто вызываете пустой print чтобы начать с новой строки, когда вам нужно.
Может тaк...
tableData = [['cherries', 'banana', 'apples', 'bobs'],
['Alice', 'Carol', 'Bob', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def printTable(table):
for i in range(min([len(l) for l in table])):
lst = [el[i] for el in table if len([el]) - 1 <= i]
print(*lst)
printTable(tableData)
можно собрать сначала максимальные длины, а потом уже выводить
def printTable(table):
mm = list(map(lambda x: len(max(x, key=lambda y: len(y))), table))
for i in zip(*table):
for j in range(len(i)):
print(i[j].rjust(mm[j], ' '), end=' ')
print()
выведет
cherries Alice dogs
banana Carol cats
apples Bob moose
bobs David goose