gpt4 book ai didi

for循环长字符串中的Python字符串连接

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:12 26 4
gpt4 key购买 nike

<分区>

我已经多次听说您不应该在 for 循环中进行字符串连接,因为字符串是不可变的,因此它会将连接计算为一个新的字符串实例,然后重新分配标识符。所以如果结果有 n 个字符,时间复杂度将是 O(n^2)

差: 在 O(n^2) 中运行。迭代“+”连接。

letters = ""
for c in document:
if c.isalpha():
letters += c

好: 在 O(n) 中运行。迭代追加,最后一个“”.join()

document = ""
temp = []
for c in document:
if c.isalpha():
temp.append(c)
letters = "".join(temp)

同时我也看到了

“一些后来的 Python 解释器实现已经开发出一种优化,允许这样的代码在线性时间内完成,..”

所以第一个解决方案也应该没问题?它是最新 python 构建中的优化吗?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com