【发布时间】:2012-03-03 19:20:33
【问题描述】:
我读到我可以使用 Python 的 Format Specification Mini-Language 来更好地控制字符串的显示方式。但是,我很难弄清楚如何使用它来显示在小数点上对齐的浮点数。
例如,假设我有以下三个列表:
job_IDs = ['13453', '123', '563456'];
memory_used = [30, 150.54, 20.6];
memory_units = ['MB', 'GB', 'MB'];
我想遍历这三个列表并打印
Job 13453: 30 MB Job 123: 150.54 MB Job 563456: 20.6 GB
到目前为止我已经尝试过:
for i in range(len(jobIDs)):
my_str = "{item:15}{value:6} {units:3}".format(
item='Job ' + job_IDs[i] + ':' , value=str(memories[i]),units=memory_units[i]);
print my_str
哪个打印:
Job 13453: 30 MB Job 123: 150.54 MB Job 563456: 20.6 GB
这几乎是正确的,但它不会围绕小数点对齐浮点数。如何使用 Python 的 Format Specification Mini-Language 按我需要的方式进行操作?
【问题讨论】:
-
您的
memory_used列表是一个字符串列表。通常,当您想以格式化方式打印浮点数时,您将使用浮点数。您现在拥有的是一组字符串,并且您希望格式能够理解它应该被特殊对待。但也许这只是您在此处发布的代码? -
感谢@MattiasNilsson 我已经相应地更新了我的代码。
标签: python string mini-language