python单引号围绕字符串的某些部分

zig*_*ggy 0 python

我有这个代码:

reclass=""
for x in xrange(1,32):
    if x <=30:
        reclass+="remap"+str(x)+"+"
    else:
        reclass+="remap"+str(x)
print reclass
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:

remap1+remap2+remap3+remap4+...
Run Code Online (Sandbox Code Playgroud)

但我想要打印字符串:

'remap1'+'remap2'+'remap3'+...
Run Code Online (Sandbox Code Playgroud)

我该如何做到这一点?

Oli*_*çon 6

要打印单引号,请在字符串中添加单引号.格式化字符串的一种简洁方法是使用str.format而不是连接多个字符串.

reclass=""
for x in xrange(1,32):
    if x <=30:
        reclass+="'remap{}'+".format(x)
    else:
        reclass+="'remap{}'".format(x)
print reclass
Run Code Online (Sandbox Code Playgroud)

输出继电器

'remap1'+'remap2'+'remap3'+ ...
Run Code Online (Sandbox Code Playgroud)

起色

一个更好的解决方案是使用str.join,这可以避免在生成最终输出的过程中使用creatintg中间字符串.

reclass = '+'.join(["'remap{}'".format(x) for x in xrange(1, 32)])

print (reclass)
Run Code Online (Sandbox Code Playgroud)

  • @ziggy问题被downvoted不是针对用户,它只是意味着问题没有足够的可重用性潜力.这也并不意味着你不会得到答案 (2认同)