我正在尝试格式化我正在屏幕上打印的输出。这是我的代码:
someString = someList[someIndex] + '{0:<8}'.format('\t') + someList[someOtherIndex]
print someString
我的预期输出:
abcdefghi someOutput abcde someOtherOutput **OR** abcdefghi someOutput abcde someOtherOutput
我得到的实际输出:
abcdefghi someOutput abcde someOtherOutput
问题1:为什么我没有得到预期的输出?具体来说,为什么第二栏中的条目不对齐?
问题2:我应该在代码中更改什么才能获得预期的输出?
其他信息:我正在使用Python 2.6
感谢任何帮助。
答案 0 :(得分:5)
你必须在你打印的第一个字符串上应用“填充”,这样它就会将第二个字符串“推”到同一个点:
someString = '{0:<16}{1}'.format(someList[someIndex], someList[someOtherIndex])
确保您需要的填充量大于您必须打印的最长的第一个单词。
你之前做的只是打印第一个单词,然后打印带填充的'\ t'(总是相同的),最后是第二个单词。