我需要打印这样的东西
"a=name1,b=name2,c=name1,d=name2"
虽然我在变量n1 n2中有name1和name2
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)
答案 0 :(得分:7)
"a=%(name1)s,b=%(name2)s,c=%(name1)s,d=%(name2)s" % {'name1': n1, 'name2': n2}
答案 1 :(得分:0)
只要元组被简单复制,你可以通过使用元组乘法来简化,否则使用另一个答案中显示的字典插值或使用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)
但至少可以说这很容易出错。