9
如何使用变量来格式化变量?使用变量格式化python的格式化字符串
cart = {"pinapple": 1, "towel": 4, "lube": 1}
column_width = max(len(item) for item in items)
for item, qty in cart.items():
print "{:column_width}: {}".format(item, qty)
> ValueError: Invalid conversion specification
或
(...):
print "{:"+str(column_width)+"}: {}".format(item, qty)
> ValueError: Single '}' encountered in format string
我能做些什么,虽然是第一次构建格式化字符串,然后格式化:但是
(...):
formatter = "{:"+str(column_width)+"}: {}"
print formatter.format(item, qty)
> lube : 1
> towel : 4
> pinapple: 1
看起来笨拙。没有更好的方法来处理这种情况吗?已经解决了
是的,这是一个原因'.format()'是首选'%'格式的字符串 –
@gnibbler:'%*'可以正常工作 – georg
Afaik'%'被认为不推荐使用,并且在未来版本的Python 3中将被删除,尽管尚未公布实际的最后期限。 –