在字符串替换中多次引用相同的输入?
我需要打印像这样在字符串替换中多次引用相同的输入?
"a=name1,b=name2,c=name1,d=name2"
虽然我已经NAME 1和NAME在变量N1 N2
n1="name1"
n2="name2"
什么,我试图做
"a=%s,b=%s,c=%s,d=%s" % (n1,n2,n1,n2)
有没有更好的比这更方式吗?避免n1,n2,n1,n2的方法?
用python 3?
,以及如果
print sys.version_info
(2, 1, 0, 'final', 0)
"a=%(name1)s,b=%(name2)s,c=%(name1)s,d=%(name2)s" % {'name1': n1, 'name2': n2}
这很好,有什么使用格式和模板? – 2011-04-13 21:56:28
只要元组被简单地复制您可以使用元组乘法简化,以其他方式使用对方的回答显示的字典插值或使用string.format
。
(n1, n2, n1, n2) == (n1, n2) * 2
使用format
的例子:
"a={0}, b={1}, c={0}, d={1}".format(name1, name2)
另外,您可以使用string.replace
:
"a=n1, b=n2, c=n1, d=n2".replace('n1', name1).replace('n2', name2)
但是,这是容易出错的,至少可以说。
对不起,它没有以任何顺序排斥,其名称为name1的段落一直重复。为了简洁起见,我使用了这个前缀。 – 2011-04-13 21:55:40
那么没有比字典方式更好的方法了,对不起。 – sverre 2011-04-13 22:02:20
怎么办?最后一部分对我来说没有多大意义。 – 2011-04-13 21:22:08
I ment python version – 2011-04-13 21:53:37