对于python中的循环,不要将输出打印为字符串

时间:2014-10-29 20:58:28

标签: python string loops for-loop concatenation

def catenateLoop(strs):
    outputString = ""
    for strings in strs:
        outputString = outputString + strings         
    print outputString

我使用上面的代码使用for循环将字符串列表连接成一个字符串。没有代码输出正确的连接,但由于某种原因,代码没有输出为字符串。例如,catenateLoop([' one',' two',' three'])正在打印,而不是“ontwreeree”#。我尝试了几种不同的格式,但我似乎无法弄清楚它为什么不能用字符串打印。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

“print”只打印出outputString的内容;如果要输出outputString的表示(包括引号),请尝试“print repr(outputString)”。

答案 1 :(得分:0)

__repr__救援!

这将为您提供所需的结果

def catenateLoop(strs):
    outputString = ""
    for strings in strs:
        outputString = outputString + strings         
    print repr(outputString)

catenateLoop(['one', 'two', 'three'])

#output: 'onetwothree'

另见Why are some Python strings are printed with quotes and some are printed without quotes?

答案 2 :(得分:0)

您可以使用str.format并将输出包装在您想要的任何内容中:

def catenateLoop(strs):
    outputString = ""
    for strings in strs:
        outputString = outputString + strings
    print "'{}'".format(outputString)

In [5]: catenateLoop(['one', 'two', 'three'])
'onetwothree'

您还可以使用str.join来连接列表内容:

def catenateLoop(strs):
    print "'{}'".format("".join(strs))