python - 在 Python 2.6 中打印 float 的 str.format() 错误

标签 python string-formatting python-2.6

我正在尝试使用 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/

相关文章:

python - 运行 python 脚本时出现错误的解释器错误

ruby - 使用变量构造格式字符串

python - 获取Python中的所有对象属性?

python - Django 保存()错误

python - pyinstaller创建的exe文件,运行时找不到自定义模块

python - 替代 u'string'

python - collect_list 通过保留基于另一个变量的顺序

Wpf Binding Stringformat 只显示第一个字符

c# - 用逗号 MVC 5 格式化十进制值

python - 使用 Apache Beam python 创建谷歌云数据流模板时出现 RuntimeValueProviderError