我正在尝试使用 Python 的 str.format() 打印一些 float 。这是示例代码
table = {'pi':3.1415926}
for variable, value in table.items():
print '{0:10} ==> {0:.2f}'.format(variable, value)
执行此操作时出现以下错误
ValueError: Unknown format code 'f' for object of type 'str'
我不明白为什么 Python 认为 3.1415926 是一个字符串。
谢谢。
最佳答案
你有倒退的位置:
table = {'pi':3.1415926}
for variable, value in table.items():
print '{0} ==> {1:.2f}'.format(variable, value)
pi ==> 3.14
或者简单地删除变量,除非你真的想打印 pi 并迭代值:
for value in table.values():
print '{0} ==> {0:.2f}'.format(value)
3.1415926 ==> 3.14
你也可以将字典与**一起使用:
table = {'pi':3.1415926}
print '{pi} ==> {pi:.2f}'.format(**table)
关于python - 在 Python 2.6 中打印 float 的 str.format() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29510459/