我有如下列表:
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
我想要这样的输出(不使用第三方库):
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
答案 0 :(得分:2)
我想您希望字符和数字正确对齐。 修改最后的字符串格式
print('{}'.format(..))
进入
print(' { :>n}'.format(..))
在这种情况下,n
是2。
答案 1 :(得分:1)
在Python 3.6+中,您可以使用格式化的字符串文字(PEP489):
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, j in zip(l2, l1,):
print(f'{i:>3}', end='')
j_split = j.split()
for val in j_split:
print(f'{val:>3}', end='')
print('\n', end='')
print(f'{"":>3}', end='')
for idx in range(len(j_split)):
print(f'{idx:>3}', 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 :(得分:0)
我使用字符串格式解决了该问题:
> summary(crimeData$Row.Number)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 235792 471370 1944429 5601310 6254267
>
输出为:
l3=[j for j in l1[0] if j!=' ']
for k in range(len(l3)):
print('%3s'%" {}".format(k),end='')