有没有更明智的表达方式:
'{:f};{:f};{:f};{:f};{:f}'.format(3.14, 1.14, 2.14, 5.61, 9.80)
这样一个人不需要多次写{:f}?
答案 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])