我正在尝试使用较新的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
如何结合使用字典属性访问和格式(例如宽度控制)?
答案 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