python数字列表错误地转换为字符串

JSh*_*hoe 6 python string list

出于某种原因,当我做代码时......

def encode():
    result2 = []
    print result  
    for x in result:  
        result2 += str(x)  
    print result2
Run Code Online (Sandbox Code Playgroud)

我明白了......

[123, 456, 789]
['1', '2', '3', '4', '5', '6', '7', '8', '9']
Run Code Online (Sandbox Code Playgroud)

我如何让它返回['123', '456', '789']

谢谢!

Nul*_*ion 10

怎么样:

result2 = [str(x) for x in result]
Run Code Online (Sandbox Code Playgroud)

你得到你得到的东西的原因是+=正在做列表连接.因为str(123)'123',['1', '2', '3']当你将它连接到你得到的空列表时(可以看作是['1', '2', '3']其他值相同的东西).

为了让它以你自己的方式工作,你需要:

result2.append(str(x)) # instead of result2 += str(x)
Run Code Online (Sandbox Code Playgroud)