首页 > 解决方案 > 围绕字符串某些部分的python单引号

问题描述

我有这个代码:

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

哪个打印:

remap1+remap2+remap3+remap4+...

但我希望字符串打印:

'remap1'+'remap2'+'remap3'+...

我该如何做到这一点?

标签: python

解决方案


解决方案

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

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

输出

'remap1'+'remap2'+'remap3'+ ...

改进

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

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

print (reclass)

推荐阅读