簡體   English   中英

格式化與其他變量串聯的列表的打印

[英]Formatting the printing of list concatenated with other variables

我有一個列表數據及其平均值中位數眾數 ,如下所示:

data = [2, 3, 5, 5, 7, -6, -6, 9]
mean = 2.00
median = 3.00
mode = [5, -6]

我想要結果的整潔的Pythonic輸出。 使用此處此處建議的答案,我得出了以下代碼。

print('Mean:{0:9.2f}\nMedian:{1:7.2f}'.format(mean, median),
  ''.join('\nMode: {}: {}'.format(*k) for k in enumerate(mode)))

但是,我不確定這是否是一個好的解決方案,我的輸出看起來像這樣:

Mean:     2.38
Median:   4.00 
Mode: 0: -6
Mode: 1: 5

我想要這樣的輸出:

Mean:     2.38
Median:   4.00
Mode:     -6, 5

我只會使用標簽:

print('Mean:\t{}\nMedian:\t{}\nMode:\t{}'.format(mean,median,', '.join(str(i) for i in mode)))

贈送:

Mean:   2.0
Median: 3.0
Mode:   5, -6

使用str.ljust()確保標題(例如MeanMedian )具有固定的長度:

TITLE_LENGTH = 10
print("Mean:".ljust(TITLE_LENGTH) + "{:.2f}".format(mean))
print("Median:".ljust(TITLE_LENGTH) + "{:.2f}".format(median))
print("Mode:".ljust(TITLE_LENGTH) + "{}: {}".format(mode[0], mode[1]))

輸出:

Mean:     2.00
Median:   3.00
Mode:     5: -6

format()仍然可以如下使用:

data = [2, 3, 5, 5, 7, -6, -6, 9]
mean = 2.00
median = 3.00
mode = [5, -6]

print('Mean:   {:.2f}\nMedian: {:.2f}\nMode:   {}'.format(mean, median, ', '.join(map(str, mode))))

給你:

Mean:   2.00
Median: 3.00
Mode:   5, -6

暫無
暫無

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

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