【发布时间】:2018-12-09 23:27:15
【问题描述】:
我有如下列表:
l1=['N N N N M M M W W N W W','N W W W N N N N N N N N']
l2=['A','B','C','D','E','F']
这是我的代码:
for i in range(len(l1)):
print(l2[i],l1[i])
我的输出是:
A N N N N M M M W W N W W
B N W W W N N N N N N N N
我想要这样的输出(不使用 3rd 方库):
A N N N N M M M W W N W W
B N W W W N N N N N N N N
0 1 2 3 4 5 6 7 8 9 10 11
我尝试过类似的方法,但没有成功:
l3=[j for j in l1[0] if j!=' ']
print(" ",end='')
for k in range(len(l3)):
print("{} ".format(k),end='')
输出是这样的:
A N N N N M M M W W N W W
B N W W W N N N N N N N N
0 1 2 3 4 5 6 7 8 9 10 11
【问题讨论】:
-
据我所知,您唯一的问题是数字前的尾随空格,当它们有 2 位时,对吗?
-
stackoverflow.com/questions/8450472/… - 在格式化方面看看。
-
是的,你是对的。
-
如果是这种情况,只需根据您的索引
j的字符数来决定您的print将添加的spaces的数量,因此如果您的号码减少1 个空格有数字:print(" " * (3 - len(j) ))应该可以解决问题
标签: python string python-3.x string-formatting