Я пытался найти ответ, но в большинстве ответов используются дополнительные функции, такие как map() или zip(). Я должен использовать только строковые атрибуты, методы или функции. Я не смог найти ответ со строковыми функциями или атрибутами.
Мне нужно распечатать заданные списки списка в столбцах, выровненных по правому краю. Это своего рода транспонирование каждого подсписка, т.е. первый список в списках списка печатается как первый столбец таблицы, второй столбец списка и так далее.
Данные списки списков:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
и желаемый результат:
Обратите внимание, что аргумент rjust() исходит из максимальной длины самого длинного слова в tableData.
Я вычислил максимальную целочисленную длину самого длинного слова в tableData следующим образом:
colWidths=[]
for i in range(len(tableData)):
maxL=len(max(tableData[i], key=len))
colWidths.append(maxL)
max(colWidths)
Теперь я застрял, как написать цикл для печати списков в требуемом формате таблицы. (Я мог бы сделать это с помощью zip() или map(), но это не принято!) Любая помощь?
map
илиzip
где-либо в решении? Или просто не в той части, которая производит вывод? - person Grismar   schedule 09.01.2019