打印包含两列的字符串

新手上路,请多包涵

我正在尝试打印一个包含两个固定列的字符串。例如,我希望能够打印:

 abc       xyz
abcde     xyz
a         xyz

打印时格式化输出字符串的正确方法是什么?还有,2.6版本之前和2.6版本之后是怎么做到的?

原文由 Victor Brunell 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 419
2 个回答

您可以使用格式并提及修复列之间的空格

'{0:10}  {1}'.format(s1, s2)

旧样式格式

'%-10s' '%s' % (s1,s2)

原文由 AlokThakur 发布,翻译遵循 CC BY-SA 3.0 许可协议

这应该适用于所有长度的元素(假设它们是字符串。这假设您的数据在两个单独的列表中 firstsecond

 maxlen = len(max(first, key=len))

for i,j in zip(first, second):
    print "%s\t%s" % (i.ljust(maxlen, " "), j)

这适用于 Python 2.x,2.6 之前和之后。

原文由 L3viathan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题