我尝试在Windows10和Ubuntu的Python3.6上运行字符串连接。在Ubuntu中花费的时间是2-3秒,而在Windows中需要很长时间。Windows和Ubuntu都在同一台机器上。
content=''
for i in range(10000000):
content+='SomeString'
为什么会这样呢?
发布于 2017-07-13 17:52:09
字符串是不可变的。您正在将一个字符串放入内存位置并将其赋值给变量。然后将其副本连接到另一个字符串,将其放入其他内存位置,并使变量内容指向新的内存位置。这种为字符串连续分配新内存空间的行为在循环中花费了大量时间。
https://stackoverflow.com/questions/45076953
复制相似问题