在配置文件中出现了一个循环,它对父字符串的许多但很短的子字符串进行操作,我想通过避免复制来优化它。在运行实际操作之前,我确实需要对片进行一些string
操作,例如strip
等。你知道吗
我探索了memoryviews
的切片,但似乎tobytes
又创建了一个副本。我想不出一种方法来调用片上的字符串操作,而不调用memoryview片上的tobytes
。有没有避免复制的纯Python方法?你知道吗
未优化的代码如下所示
# parent_str is about 4GB
hash_list = []
for start,end in offset_list:
segment = parent_str[start:end].strip().replace("%$@", "")
hash_list.append(hash(segment))
您可以使用一个集合来存储子字符串,它将自动删除重复项
相关问题 更多 >
编程相关推荐