使用一个 .format() 指定多种格式
我正在尝试使用 Python 的 .format()
指定多种格式。
我希望显示符号,四舍五入到 2 位有效数字,并以 17 的宽度右对齐。
现在我有:
print(
'''
Number of vowels before:{0[vowel_count]:>13}
Number of vowels after:{1[vowel_count]:>14}
Conversion Change:{2:>17+.2f}%
'''.format(before, after, vowel_change)
)
但我收到错误:
ValueError: Invalid format specifier
因为 '2:>17+.2f' 无效。
I'm trying to specify multiple formats using Python's .format()
.
I would like the sign to be shown, rounded to 2 significant digits, and right justified with a width of 17.
Right now I have:
print(
'''
Number of vowels before:{0[vowel_count]:>13}
Number of vowels after:{1[vowel_count]:>14}
Conversion Change:{2:>17+.2f}%
'''.format(before, after, vowel_change)
)
but I get an error:
ValueError: Invalid format specifier
because '2:>17+.2f' is not valid.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从格式字符串中删除
+
:或者,如果需要,请将其放在对齐说明符之后、宽度之前:
有关更多信息,请参阅 格式规范迷你语言的文档。
Remove the
+
from the format string:or, if you want it, put it just after the align specifier, before the width:
For further information, consult the documentation of the format specification mini-language.