首页 > 解决方案 > 在python中右对齐循环文本

问题描述

我正在尝试将打印的文本与生成的两个列之间的制表符空间右对齐。

di = {"name": "John", "Job": "Scientist", "Age": "N/A", "OS": "Mac"}
di = di.items()

for (keys, values) in di:
    print(keys, "\t", values)

但是我得到下面的打印输出。

name     John
Job      Scientist
Age      N/A
OS   Mac

我已经交换了 print 语句,print(f"{keys}{values:>15}")但它并没有真正帮助,我得到了下面的打印。

name           John
Job      Scientist
Age            N/A
OS            Mac

我试图得到这个:

name     John
Job      Scientist
Age      N/A
OS       Mac

有什么建议么?

编辑:理想情况下,我希望它在 PyCharm 中打印出来时工作,或者在指示打印命令时输出 sublime 文本。

标签: python-3.xfor-loop

解决方案


要指定打印输出的对齐方式,请使用我的解决方案中指示的 f 字符串格式化功能,格式化构造 {variable:<} 指示打印左对齐输出字符串。有关更多信息和非常好的教程,请参阅Python 3 的 f-Strings:改进的字符串格式化语法(指南) ,当然还有Formatted String Literals 主题的 python 文档。

di = {"name": "John", "Job": "Scientist", "Age": "N/A", "OS": "Mac"}
for key, value in di.items():
    print(f'{key:<}\t{value:<}')

推荐阅读