我目前正在研究這個快速項目來學習,我半成功地完成了將每個列表打印到列中,但我遇到了打印正確列寬的麻煩。列寬 - 初學者python
fruitNamePets = [ ['apples', 'oranges', 'cherries', 'bananas', 'pineapples', 'mangos'],
['Alice', 'Bob', 'Carol', 'David', 'Mike', 'Alex'],
['dogs', 'cats', 'moose', 'goose', 'deer', 'platypus']
]
def printTable(tableName):
colWidths = [0] * len(tableName)
for i in range(len(tableName[1])):
print ('')
for j in range(len(tableName)):
colWidths[j] = len(max(tableName[j])) + 2
print (str(tableName[j][i]).rjust(colWidths[j], ' '), end='')
printTable(fruitNamePets)
這裏是輸出
apples Alice dogs
oranges Bob cats
cherries Carol moose
bananas David goose
pineapples Mike deer
mangos Alex platypus
正如你所看到的,我右對齊列和作出的寬度列表的最大長度+2艙,但由於某種原因,中間列只增加+1空間。
感謝您的幫助,我是新來的,所以如果我發佈的不正確,請讓我知道!
不直接回答你的問題,但Python'.format'方法本身處理了很多這些東西:https://docs.python.org/2/library/string.html#format-specification-mini-語言(特別參見'align'參數);這可能會讓你的生活更容易對齊事物。 – val