Проблема возникает из-за того, что ваша колонка с каким-то идентификатором имеет переменную размера. Вам нужно сначала проверить самую длинную строку, а затем, в соответствии с ее размером, добавить соответствующие вкладки.
Вы можете рассчитать количество вкладок (где вкладка равно 8 пробелов) для вставки между идентификатором и заперла с простой формулой:
# 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
Для простоты, вы можете отделить оператор печати в две инструкции:
nb_tabs = (max_size - len(a))/8 + 1
print "%s%sLOCKED" % (a, "\t" * nb_tabs)
Вам нужно, конечно, рассчитать максимальный размер, который может быть сделано путем простой итерации над данными, как size = max([len(x) for x in lst])
.
Что делать, если я хочу выровнять информацию LOCKED в том же положении? как? любой наконечник – newBike
@poc Используйте формат или подсчитайте количество вкладок, необходимых в зависимости от размера поля вывода, и используйте '\ t' * i, который выдает правильное количество вкладок. – sabbahillel