def printTable (tabledata):
colWidths = [0]*len(tabledata)
lines = len(tabledata)
cols = len(tabledata[0])
for i in range(lines):
col_max_len = 0
for j in range(cols):
if len(tabledata[i][j]) > col_max_len :
col_max_len = len(tabledata[i][j])
colWidths[i] = col_max_len
for j in range(cols):
for i in range(lines):
#print('colWidths['+str(j)+']='+str(colWidths[i]))
print(tabledata[i][j].rjust(colWidths[i]), end=' ')
print('')
tableData = [['apple', 'orange', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
printTable(tableData)