如何在连接字符串时避免引导空白区域

时间:2014-04-07 07:23:57

标签: python string

我有一个float列表,我使用以下方法将它们组成一个字符串:

import json
a = [1.2, 2.9, 7.4]
str = "\t".join(format(x,"10.3f") for x in a)
print json.dumps(str)

然而str的最终结果包含这样的前导空格:

"     1.200\t     2.900\t     7.400"

我怎样才能得到这种结果:

"1.200\t2.900\t7.400"

2 个答案:

答案 0 :(得分:1)

您必须剥离(使用strip())生成器表达式的元素:

s = "\t".join(format(x, "10.3f").strip() for x in a)

<强>演示:

import json
a = [1.2, 2.9, 7.4]
s = "\t".join(format(x, "10.3f").strip() for x in a)
print json.dumps(s) # "1.200\t2.900\t7.400"

注意:

  • 不要使用str作为变量的名称,因为它会隐藏str的内置实现。

答案 1 :(得分:1)

由于您指定的格式,数字会被填充为10个字符。

尝试使用0作为宽度说明符来获取&#34;数字类型的零填充&#34;:

str = "\t".join(format(x,"0.3f") for x in a)

看看python文档: https://docs.python.org/2/library/string.html#format-specification-mini-language