python - 如何右对齐数字数据?

我有一些数据以 3 列格式显示,格式如下:

key: value key: <tab> key: value <tab> key: value .

这是一个例子:

p: 1    sl: 10  afy: 4
q: 12   lg: 10  kla: 3
r: 0    kl: 10  klw: 3
s: 67   vw: 9   jes: 3
t: 16   uw: 9   skw: 3
u: 47   ug: 9   mjl: 3
v: 37   mj: 8   lza: 3
w: 119  fv: 8   fxg: 3
x: 16   fl: 8   aew: 3

但是,我希望数字是否完全对齐,例如:

a:   1
b:  12
c: 123

如何在 Python 中做到这一点?

这是我现有的打印代码:

print(str(chr(i+ord('a'))) + ": " + str(singleArray[i]) + "\t" +
    str(doubleArray[i][0]) + ": " + str(doubleArray[i][1]) + "\t" +
    str(tripleArray[i][0]) + ": " + str(tripleArray[i][1]))

最佳答案

在python 2.6+(它是3中的标准方法)中,字符串格式化的“首选”方法是使用string.format()(可以找到完整的文档here)。 正确的理由可以用

"a string {0:>5}".format(foo)

这将使用 5 个位置,但是

"a string {0:>{1}}".format(foo, width)

也是有效的,并将使用传递给 .format() 的值宽度。

https://stackoverflow.com/questions/1402048/

相关文章:

formatting - 如何关闭 JSLint 缩进警告?

ios - 如何将 Double 格式化为货币 - Swift 3

c# - 十六进制的 String.Format

formatting - 如何可视化或格式化差异/补丁文件?

c# - 格式化 TimeSpan 大于 24 小时

c# - 如何停止 ReSharper 删除对象初始化程序中的空格

c# - 在 C# (asp.net MVC3) 中用逗号和小数格式化数字

c# - 在 C# 中使用自定义千位分隔符

excel - (Excel) 基于相邻单元格值的条件格式

ruby - CSV.read 第 x 行的非法引用