Python - 在格式化的字符串之间放置一个字符

时间:2017-11-24 00:31:01

标签: python string format center text-alignment

让我们说要打印出来

Item 1           |         Item 2
A Third item     |             #4

没有|可以做到通过做

print('%s20  %20s' % (value1,value2))

我如何放置|字符,以便在两个格式化的值之间均匀对齐?

我想我可以手动处理格式化字符串的长度,而不是|字符然后插入|在中间,但我希望有一个更优雅的解决方案!

非常感谢你的时间。

编辑:这是我建议的解决方案

def PrintDoubleColumn(value1, value2):
  initial =  '%s20  %20s' % (value1,value2)
  lenOfInitial = len(initial)
  print(initial[:lenOfInitial/2] +'|' + initial[lenOfInitial/2+1:])

1 个答案:

答案 0 :(得分:3)

string format operations有一个很好的来源:https://pyformat.info/#string_pad_align

x = [1, 2, 3, 4, 5]
y = ['a', 'b', 'c', 'd', 'e']

for i in range(0, 5):
    print "{0:<20}|{1:>20}".format(x[i], y[i])

结果:

1                    |                    a
2                    |                    b
3                    |                    c
4                    |                    d
5                    |                    e