如何在我的代码中添加一个显示列数的新行
How can I add a new row which shows the number of columns into my code
我有如下所示的列表:
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
我想要这样的输出(不使用第 3 方库):
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
我使用字符串格式解决了这个问题:
l3=[j for j in l1[0] if j!=' ']
for k in range(len(l3)):
print('%3s'%" {}".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
使用 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
我想您希望字符和数字右对齐。
修改最后的字符串格式
print('{}'.format(..))
进入
print(' { :>n}'.format(..))
这里的 n
是 2。
答案基于
Python: Format output string, right alignment
我有如下所示的列表:
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
我想要这样的输出(不使用第 3 方库):
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
我使用字符串格式解决了这个问题:
l3=[j for j in l1[0] if j!=' ']
for k in range(len(l3)):
print('%3s'%" {}".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
使用 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
我想您希望字符和数字右对齐。 修改最后的字符串格式
print('{}'.format(..))
进入
print(' { :>n}'.format(..))
这里的 n
是 2。
答案基于 Python: Format output string, right alignment