【发布时间】:2019-01-08 22:27:30
【问题描述】:
我试图找到答案,但大多数答案都使用 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?或者只是不在产生输出的部分? -
是的,它不允许在任何地方使用它:)
标签: python python-3.x string string-operations right-justified