我正在Python中的循环中打印一些值。我当前的输出如下:
0 Data Count: 249 7348 249 4469 2768 261 20 126
1 Data Count: 288 11 288 48 2284 598 137 408
2 Data Count: 808 999 808 2896 32739 138 202 678
3 Data Count: 140 26 140 2688 8054 884 433 987
我希望每列中的所有值都对齐,尽管有些列中的字符/数字计数不同,这样更容易阅读。
这背后的伪代码如下:
for i in range(0,3):
print i, " Data Count: ", Count_A, " ", Count_B, " ", Count_C, " ", Count_D, " ", Count_E, " ", Count_F, " ", Count_G, " ", Count_H
提前感谢大家!
您可以使用格式字符串对齐:
from random import randint
for i in range(5):
data = [randint(0, 1000) for j in range(5)]
print("{:5} {:5} {:5} {:5}".format(*data))
输出:
92 460 72 630
837 214 118 677
906 328 102 320
895 998 177 922
651 742 215 938
根据Python文档的格式规范
使用%
字符串格式化运算符,输出的最小宽度在占位符中指定为数据类型之前的数字(占位符的完整格式为%[key][flags][width][.precision][length type]conversion type
(。如果结果较短,它将被填充到指定的长度:
from random import randint
for i in range(5):
data = [randint(0, 1000) for j in range(5)]
print("%5d %5d %5d %5d %5d" % tuple(data))
给出:
946 937 544 636 871
232 860 704 877 716
868 849 851 488 739
419 381 695 909 518
570 756 467 351 537
(代码改编自@andreihondari的回答(