Вопрос об автоматизации скучных вещей: глава 6 - PullRequest
0 голосов
/ 28 апреля 2020

У меня только что был вопрос об одном учебном проекте из 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, так как он создает определенное количество пробелов в «левой части» строки, чтобы выровнять ее по правому краю. Однако, как это. Просто работает в этой функции для создания необходимого форматирования?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...