一尘不染

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

python

由于某种原因,当我执行代码时…

def encode():
    result2 = []
    print result  
    for x in result:  
        result2 += str(x)  
    print result2

我知道了

[123, 456, 789]
['1', '2', '3', '4', '5', '6', '7', '8', '9']

如何获得退货['123', '456', '789']

谢谢!


阅读 151

收藏
2021-01-20

共1个答案

一尘不染

怎么样:

result2 = [str(x) for x in result]

得到的原因是+=正在执行列表串联。由于str(123)is '123',可以看作是,将其['1', '2', '3']连接到空列表时得到['1', '2', '3'](其他值也一样)。

为了使它按自己的方式工作,您需要:

result2.append(str(x)) # instead of result2 += str(x)
2021-01-20