Python-从字典

时间:2019-02-21 10:57:35

标签: python printing tabs alignment

我是python的初学者,我在打印时遇到困难。 我编写了一个程序,在字典中存储名称和价格。 (例如:{"PERSON_1":"50","PERSON_2":"75","PERSON_WITH_EXTREMELY_LONG_NAME":"80"} 现在的问题是,我希望能够以一种不错的方案来打印键及其假定的值。 我使用了代码:

 for i in eter.eters:
        print(i + "\t | \t" + str(eter.eters[i]))

以eter.eters作为我的字典。 问题在于某些名称比其他名称长很多,因此选项卡不对齐。 以及我的标题:“名称” | “价格”应与以下信息保持一致。 我已经找到了一些解决方案,但是我不太了解我找到的解决方案。 期望的结果:

**********************************************************************
               De mensen die blijven eten zijn:
**********************************************************************
Naam                            |      bedrag
----------------------------------------------------------------------
PERSON 1                        |      50
PERSON 2                        |      75
PERSON WITH EXTREMELY LONG NAME |      80
**********************************************************************

2 个答案:

答案 0 :(得分:0)

尝试一下:

给出eter.eters是你的字典

print('%-35s | %6s' % ('Names', 'Price')) # align to the left

for k in eter:
    print('%-35s | %6s' % (k,eter[k]))

print("{0:<35}".format('Name')+'|'+"{0:>6}".format('Price'))

for k in eter:
    print("{0:<35}".format(k)+'|'+"{0:>6}".format(eter.eters[k]))

答案 1 :(得分:0)

您可以尝试获取所有名称并找到其最大长度。然后使用特殊填充而不是制表符(ast)显示每个名称。该代码应说明:

\t