字符串格式错误?

时间:2018-06-27 01:17:15

标签: python python-3.x tuples string-formatting

这是程序:

layout = "{0:>5}"
layout += "{1:>10}"
for i in range(2, 13):
    layout += "{"+str(i)+":9>}"


index = []
for i in range(13):
    index.append(i)
index = tuple(index)
print(layout.format(*index))

,它的打印结果如下:

    0         123456789101112

但是我希望它看起来像这样(空格数可能是错误的):

    0    1   2   3  4  5  6  7  8  9  10  11  12

我做错了什么?

1 个答案:

答案 0 :(得分:2)

":9>}"

应该是

":>9}"

这给出了:

    0         1        2        3        4        5        6        7        8        9       10       11       12

看起来完全像您的要求:

实际上,您是在要求一些奇怪的东西,但这是一种更简洁的方式来写您所写的内容:

layout = "{0:>5}{1:>5}" + ''.join("{" + str(i) + ":>4}" for i in range(2, 13))
print(layout.format(*range(13)))

礼物:

    0    1   2   3   4   5   6   7   8   9  10  11  12