我正在尝试格式化字符串以显示高分表的两列。Python 在使用 print 时能够很好地做到这一点
print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)
但是当尝试使用格式化的字符串时,它似乎变得更具挑战性。这是我想要得到的结果:
#for name, score in list: prints the following
1. FirstName LastName 45000
2. First LastName 78000
3. Fst Lst 11123
4. Name Name 40404
5. llll lll 12345
这是进入 pygtk 标签的所有字符串。目前我有这个:
score_string += "%i. %-15.12s\t%15s\n" % (index, name, score)
这会产生不可信的结果。我当前的测试数据显示如下:
1. Firstname Lastname 49900
2. First Last 93000
3. Name Name 6400
因为该列表中的第一个名字比其他名字长(在宽度上,不是字符数),所以选项卡会强制分数不在位置上。有没有办法做到这一点,不仅要考虑字符串的长度,还要考虑字符串的宽度?