1

我正在尝试格式化我在屏幕上打印的一些输出。这是我的代码:

someString = someList[someIndex] +  '{0:<8}'.format('\t') + someList[someOtherIndex]
print someString

我的预期输出:

abcdefghi someOutput
abcde someOtherOutput

**或者**
abcdefghi someOutput
abcde someOtherOutput

我得到的实际输出:

abcdefghi someOutput
abcde someOtherOutput

Q.1:为什么我没有得到预期的输出?具体来说,为什么第二列中的条目未对齐?
Q.2:我应该在我的代码中进行哪些更改以获得预期的输出?

附加信息:我正在使用 Python 2.6

感谢任何帮助。

4

1 回答 1

5

您必须在打印的第一个字符串上应用“填充”,以便它始终将第二个字符串“推”到同一点:

someString = '{0:<16}{1}'.format(someList[someIndex], someList[someOtherIndex])

不过,请确保您需要的填充内容大于您必须打印的最长的第一个单词。

您之前所做的只是打印第一个单词,然后打印带有填充的 '\t'(始终相同),最后打印第二个单词。

于 2012-07-27T18:32:44.313 回答