表打印机排序

时间:2015-10-10 17:31:21

标签: python

我想创建一个可以打印和排序的简单表。这就是我所拥有的:

 from tabulate import tabulate
 def main():
 # Create a list of strings
 tableData = [['apples', 'oranges', 'cherries', 'banana'],
            ['Alice', 'Bob', 'Carol', 'David'],
            ['dogs', 'cats', 'moose', 'gooses']]

  # Sort the list
   tableData.sort()

  # Print the table
  print tabulate(tableData)

  # Call the main function.
  main()

我的语法是否正确?还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

您可能希望能够手动打印表格,而不是使用制表格,因为这样可以让您在表格显示方式上获得更大的自由度 - 这需要更多的努力! 我发现python string.format()方法对于这种任务非常有用,这里是我用.format()编写的表打印机的一个例子:

Table=[['Name','Age','Level','Score'],['Tom','15','5','999'],
   ['Bob','105','7','2']]

LongestItem=0
for List in Table:
    for Item in List:
        if len(Item)>LongestItem:
            LongestItem=len(Item)

for List in Table:
    for Item in enumerate(List):
        List[Item[0]] = '{:{}}'.format(List[Item[0]],LongestItem)

for Index in range(len(Table)):
    print(' '.join(Table[Index]))

如果你愿意,你可以轻松地调整表格,使其具有列和行,中心对齐的记录,0填充数据等。 - 这比表格更自由。