Python 3.x python中的右对齐循环文本
我试图将打印文本与生成的两列之间的制表符空间右对齐Python 3.x python中的右对齐循环文本,python-3.x,for-loop,Python 3.x,For Loop,我试图将打印文本与生成的两列之间的制表符空间右对齐 di={“姓名”:“约翰”,“工作”:“科学家”,“年龄”:“不适用”,“操作系统”:“Mac”} di=di.items() 对于di中的(键、值): 打印(键“\t”、值) 但是我得到了下面的打印输出 name John Job Scientist Age N/A OS Mac 我已经用print(f{keys}{values:>15}”)替换了print语句,但是它没有真正的帮助,我得到了下面的打印
di={“姓名”:“约翰”,“工作”:“科学家”,“年龄”:“不适用”,“操作系统”:“Mac”}
di=di.items()
对于di中的(键、值):
打印(键“\t”、值)
但是我得到了下面的打印输出
name John
Job Scientist
Age N/A
OS Mac
我已经用print(f{keys}{values:>15}”)
替换了print语句,但是它没有真正的帮助,我得到了下面的打印
name John
Job Scientist
Age N/A
OS Mac
我正在努力做到这一点:
name John
Job Scientist
Age N/A
OS Mac
有什么建议吗
编辑:理想情况下,我希望在PyCharm中打印时,或在指示打印命令时,在升华文本输出中使用此功能。要指定打印输出的对齐方式,请使用我的解决方案中所示的f字符串格式化功能格式化结构{变量:请注意,输入在我的终端上正确对齐。这取决于选项卡的宽度。使用非常长的键,例如
firstname
,应该可以可靠地触发问题。请对您的答案添加一些解释,以便其他人可以从中学习it@NicoHaase,我编辑了我的回复以添加一些解释。这在终端打印输出中起作用但在PyCharm打印输出或sublime文本打印输出中无法工作。它们仍然存在缩进问题。字符串始终与其自身对齐。若不设置替换的最小大小,对齐就毫无意义。
di = {"name": "John", "Job": "Scientist", "Age": "N/A", "OS": "Mac"}
for key, value in di.items():
print(f'{key:<}\t{value:<}')