Python格式输出以简洁的方式

时间:2015-04-06 00:24:28

标签: python

有没有更明智的表达方式:

'{:f};{:f};{:f};{:f};{:f}'.format(3.14, 1.14, 2.14, 5.61, 9.80)

这样一个人不需要多次写{:f}?

2 个答案:

答案 0 :(得分:4)

受无花果的回答启发(upvoted):

('{:f};'*5).format(3.14, 1.14, 2.14, 5.61, 9.80)[:-1] # strip the trailing semicolon

答案 1 :(得分:2)

你可以使用任何你想到的生成字符串的好方法,例如使用join

';'.join(['{:f}' for _ in range(5)]).format(3.14, 1.14, 2.14, 5.61, 9.80)

这是列表理解中的格式的另一种变体。这很好,因为它不需要输入列表的长度。

nums = [3.14, 1.14, 2.14, 5.61, 9.80]
';'.join(['{:f}'.format(n) for n in nums])