python字符串格式:如何使用str.format()合并宽度和字典元素

时间:2019-06-30 10:07:26

标签: python

我正在尝试使用较新的str.format()格式化字典并指定元素的宽度:

>>> record = { 'name': 'Donald Trump', 'age': 12 }
>>> print "{name} {age}".format(**record)
Donald Trump 12
>>> # how would I set width for the name field to accommodate longer names

如何结合使用字典属性访问格式(例如宽度控制)?

1 个答案:

答案 0 :(得分:1)

这是正确的语法:

In [31]: print("{name} {age}".format(**record))                                                                                                                                                                                                               
Donald Trump 12

In [32]: print("{name:>30} {age}".format(**record))                                                                                                                                                                                                           
                  Donald Trump 12

In [33]: print("{name:30} {age}".format(**record))                                                                                                                                                                                                            
Donald Trump                   12

请注意,我使用的是Python 3.7,如果使用的是Python <3(我不建议这样做),则应从print方法中删除括号。

来自Python docs

  

align :: =“ <” | “>” | “ =” | “ ^”

>>> '{:<30}'.format('left aligned')
'left aligned                  '
>>> '{:>30}'.format('right aligned')
'                 right aligned'
>>> '{:^30}'.format('centered')
'           centered