我在控制台中有一个输出。不幸的是,文本的长度不同,因此看起来非常不同。是否有一个选项可以将文本写在另一个下面,而不管前面有多少个字符,以便输出看起来像我想要的那样?
我不想使用另一个库来做这件事。
print(65 * '_')
print('algorithm\t\t\tsil\t\tdbs')
results = ['Agglomerative Clustering', 0.8665, 0.4200]
formatter_result = ("{:9s}\t\t{:.4f}\t{:.4f}")
print(formatter_result.format(*results))
results = ['k-Means', 0.9865, 0.1200]
formatter_result = ("{:9s}\t\t{:.4f}\t{:.4f}")
print(formatter_result.format(*results))
print(65 * '_')我所拥有的
_________________________________________________________________
algorithm sil dbs
Agglomerative Clustering 0.8665 0.4200
k-Means 0.9865 0.1200
_________________________________________________________________我想要的
_________________________________________________________________
algorithm sil dbs
Agglomerative Clustering 0.8665 0.4200
k-Means 0.9865 0.1200
_________________________________________________________________我看了看Printing Lists as Tabular Data,试了试,但对我不起作用
print(65 * '_')
heading = ['algorithm', 'sil', 'dbs']
result1 = ['Agglomerative Clustering', 0.8665, 0.4200]
result2 = ['k-Means', 0.9865, 0.1200]
ab = np.array([heading, result1, result2])
for row in ab:
print("{: >20} {: >20} {: >20}".format(*row))
print(65 * '_')
_________________________________________________________________
algorithm sil dbs
Agglomerative Clustering 0.8665 0.42
k-Means 0.9865 0.12
_________________________________________________________________发布于 2021-11-22 08:47:49
你可以使用{:<20},这意味着20个空格与左对齐。还有右中心对齐和{:>20}- {:^20}对齐。
要将其与.4f等float表示法结合使用,只需添加:{:<20.4f}
试试这个:
print(65 * "_")
formatter_result = "{:<35} {:<20} {:<20}"
formatter_result_f = "{:<35} {:<20.4f} {:<20.4f}"
print(formatter_result.format(*["algorithm", "sil", "dbs"]))
results = ["Agglomerative Clustering", 0.8665, 0.4200]
print(formatter_result_f.format(*results))
results = ["k-Means", 0.9865, 0.1200]
print(formatter_result_f.format(*results))
print(65 * "_")结果:
_________________________________________________________________
algorithm sil dbs
Agglomerative Clustering 0.8665 0.4200
k-Means 0.9865 0.1200
_________________________________________________________________发布于 2021-11-22 08:46:29
您好,您必须移除一些标签,\t因为它们会创建选项卡,您可以逐个移除它们以找到您喜欢的标签
打印(‘例如,这是一个制表符\t\t\t它们之间将有空格’)
打印(‘例如,这里没有制表符,它将彼此相邻’)
https://stackoverflow.com/questions/70062968
复制相似问题