在字符串替换中多次引用相同输入?
我想打印出像这样的东西
"a=name1,b=name2,c=name1,d=name2"
同时我有两个名字,分别存储在变量 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)
2 个回答
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)
不过,这种方法至少是容易出错的。
7
在编程中,有时候我们会遇到一些问题,可能是代码运行不正常,或者是我们不太明白某些功能是怎么工作的。这种时候,很多人会选择在StackOverflow上提问,寻求帮助。
StackOverflow是一个程序员交流的平台,大家可以在这里分享自己的问题和解决方案。你可以看到很多人提出了各种各样的问题,有的可能是关于某种编程语言的,有的则是关于特定的技术或工具。
当你在这个平台上提问时,记得尽量把问题描述清楚,这样其他人才能更好地理解你的困惑,并给出有效的建议。同时,也可以查看其他人的问题和答案,很多时候你会发现自己遇到的问题已经有人解决过了。
总之,StackOverflow是一个很好的学习和交流的地方,适合所有想要提升编程技能的人。
"a=%(name1)s,b=%(name2)s,c=%(name1)s,d=%(name2)s" % {'name1': n1, 'name2': n2}