# Just make a simple relevant sample with different size
>>> lst = ["a", "aaaa", "aaaaaaaaaaaaaaa"]
>>> for a in lst:
... print "%s\tLOCKED" % a
...
a LOCKED
aaaa LOCKED
aaaaaaaaaaaaaaa LOCKED # Here we can see the problem
>>> max_size = len(lst[-1])
>>> for a in lst:
... print "%s%sLOCKED" % (a, "\t" * ((max_size - len(a))/8 + 1))
...
a LOCKED
aaaa LOCKED
aaaaaaaaaaaaaaa LOCKED
问题来自于这样一个事实:具有某种标识符的列有一个大小变量。您需要首先检查最长的字符串,然后根据其大小添加所需的相关选项卡。你知道吗
您可以计算要在标识符之间插入并用简单公式锁定的选项卡数(其中一个选项卡等于8个空格):
为简单起见,您可以将print语句分为两条指令:
当然,您需要计算最大大小,这可以通过对
size = max([len(x) for x in lst])
这样的数据进行简单的迭代来完成。你知道吗tab字符强制输出到下一个“tab stop”。将制表符视为8个空格。因为像SF8172这样的数据是6个字符,所以第一个'\t'将输出推到下一个“8空格”位置,第二个将输出推到另一个8空格。像NDB301ND8301这样的输出是12个空格,因此您已经传递了第一个选项卡设置上一个输出行的位置。因此,您可以移动一个额外的“制表位”。类似地,vvkèu站1甚至更长,并且经过tab“tab stop”,因此它在输出线上更远。你知道吗
输出与您指定的完全一致。其他列都在同一选项卡区域内,因此它们不显示变化。你知道吗
您可以使用格式或计算所需的制表符数。例如
现在在输出规范中用'\t'*i输出。你知道吗
使用python的格式。您可以看到示例here。你知道吗
相关问题 更多 >
编程相关推荐