Python 错误的字符串格式?
节目如下:Python 错误的字符串格式?,python,python-3.x,tuples,string-formatting,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
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
但是我希望它看起来像这样(空格的数量可能是错误的):
我做错了什么
":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
应该是
":>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