簡體   English   中英

美化控制台的打印output

[英]Beautification of the print output of the console

我在控制台中有一個 output。 不幸的是,文本的長度不同,因此看起來非常偏移。 是否有一個選項可以將文本寫在彼此下方,無論它們前面有多少個字符,以便 output 看起來像我想要的樣子?

我不想為此使用另一個庫。

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
_________________________________________________________________

我將打印列表視為表格數據並嘗試過,但對我不起作用

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
_________________________________________________________________

嗨,所以您必須刪除一些 \t 因為它們會創建選項卡,您可以將它們一一刪除以找到您喜歡的

print('例如,這是一個制表符 \t\t\t 之間會有空格')

print('例如,這里沒有選項卡,它將彼此相鄰')

您可以使用{:<20} ,這意味着左邊有 20 個空格 alignment。 還有{:^20} - 中心 alignment 和{:>20} - 右 alignment。

要將它與float表示法結合起來,例如.4f只需添加: {:<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              
_________________________________________________________________

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM