如何将数据公式化为 table - python

How to formulate data into a table - python

我正在尝试使用 table 以良好的格式显示我的数据,所有其他 google 搜索让我对复杂的解决方案感到非常困惑,我想知道是否有更简单的方法。我正在使用此代码:

print("no. of cities | Depth-first | Breadth-first | Greedy Search")
for num in n:
    ...
    print("%d | %d | %d | %d | %d" %(n,depth_count,breadth_count,greedy_count, total))

这给了我结果:

no. of cities | Depth-first | Breadth-first | Greedy Search | Total
5 | 24 | 24 | 10 | 58
6 | 120 | 120 | 15 | 255
...

但我想:

no. of cities | Depth-first | Breadth-first | Greedy Search | Total
5             | 24          | 24            | 10            | 58
6             | 120         | 120           | 15            | 255
...

感谢任何帮助。

看看Pandas。使用 data-frames,您可以通过这种方式可视化数据。

this post, but if you want something simple you could use fixed-width formatting 上有一些很好的答案。例如:

n,depth_count,breadth_count,greedy_count, total = 5, 24, 24, 10, 58
header = ('no. of cities', 'Depth-first', 'Breadth-first', 'Greedy Search', 'Total')
print("%15s|%15s|%15s|%15s|%15s" % header)
print("%15d|%15d|%15d|%15d|%15d" %(n,depth_count,breadth_count,greedy_count, total))

#  no. of cities|    Depth-first|  Breadth-first|  Greedy Search|          Total
#              5|             24|             24|             10|             58

这里的 %15d 表示使用长度为 15 的字符串打印一个整数 right-justified。

如果你想打印 left-justified,你可以使用 %-15:

print("%-15s|%-15s|%-15s|%-15s|%-15s" % header)
print("%-15d|%-15d|%-15d|%-15d|%-15d" %(n,depth_count,breadth_count,greedy_count, total))
#no. of cities  |Depth-first    |Breadth-first  |Greedy Search  |Total          
#5              |24             |24             |10             |58