У меня только что был вопрос об одном учебном проекте из Automate the Boring Stuff с Python: Глава 6. В вопросе вас просят переформатировать вложенный список определенным образом. Ниже приведен код, который я нашел в u / ParalysedBeaver для reddit:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def printTable(inputList):
colWidths = [0] * len(inputList)
for i in range(len(inputList)):
for j in range(len(inputList[i])):
if len(inputList[i][j]) > colWidths[i]:
colWidths[i] = len(inputList[i][j])
for x in range(len(inputList[0])):
for y in range(len(inputList)):
print(inputList[y][x].rjust(colWidths[y]), end = ' ')
print('')
printTable(tableData)
Я понимаю основы того, почему вы используете циклы for для правильного форматирования таблицы. Тем не менее, я запутался в следующем:
-Почему вы должны использовать «.rjust» для того, чтобы аккуратно расположить список вывода?
Я понимаю цель и функцию .rjust, так как он создает определенное количество пробелов в «левой части» строки, чтобы выровнять ее по правому краю. Однако, как это. Просто работает в этой функции для создания необходимого форматирования?
Заранее спасибо.