2024-04-18 15:37:53 发布
网友
我在Python 2.6.5中构造了一个字符串s,该字符串将具有不同数量的%s标记,这些标记与列表x中的条目数匹配。我需要写出一个格式化的字符串。以下不起作用,但表明我正在尝试做什么。在本例中,有三个%s标记,列表有三个条目。
s
%s
x
s = '%s BLAH %s FOO %s BAR' x = ['1', '2', '3'] print s % (x)
我希望输出字符串为:
1 BLAH 2 FOO 3 BAR
print s % tuple(x)
而不是
print s % (x)
根据这个resource page,如果x的长度是变化的,我们可以使用:
', '.join(['%.2f']*len(x))
为列表中的每个元素创建一个占位符。下面是一个例子:
x = [1/3.0, 1/6.0, 0.678] s = ("elements in the list are ["+', '.join(['%.2f']*len(x))+"]") % tuple(x) print s >>> elements in the list are [0.33, 0.17, 0.68]
您应该看看python的format方法。然后可以定义如下格式字符串:
>>> s = '{0} BLAH {1} BLAH BLAH {2} BLAH BLAH BLAH' >>> x = ['1', '2', '3'] >>> print s.format(*x) '1 BLAH 2 BLAH BLAH 3 BLAH BLAH BLAH'
而不是
根据这个resource page,如果x的长度是变化的,我们可以使用:
为列表中的每个元素创建一个占位符。下面是一个例子:
您应该看看python的format方法。然后可以定义如下格式字符串:
相关问题 更多 >
编程相关推荐