让我们说要打印出来
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:])
答案 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