python - Python子串提取的效率如何?

标签 python memory performance substring

我在字符串 myStr 中得到了一个文本文件的全部内容(至少几 KB)。

以下代码是否会在内存中创建字符串的副本(减去第一个字符)?

myStr = myStr[1:]

我希望它只是指同一内部缓冲区中的不同位置。如果没有,是否有更有效的方法来做到这一点?

谢谢!

注意:我使用的是 Python 2.5。

最佳答案

至少在 2.6 中,字符串切片总是新的分配; string_slice() 调用 PyString_FromStringAndSize()。它不重用内存——这有点奇怪,因为对于不变的字符串,这应该是一件相对容易的事情。

缺少缓冲区 API(您可能不需要),没有更有效的方法来执行此操作。

关于python - Python子串提取的效率如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2457367/

相关文章:

python - Django:管理员中的[电子邮件保护]

python - Tensorflow/Keras : Input 0 of layer lstm is incompatible with the layer: expected ndim=3, 发现 ndim=2

python - 如何将大量参数传递给 Django 中的 View ?

C++ 映射迭代和堆栈损坏

c++ - 有效地将字节数组附加到字符串 C++

python - 在多线程 Python 中使用队列,将队列作为引用传递给子函数

java - JVM内存管理

jquery - 加快 HTML 网站速度的方法?

asp.net - MySQL 与 SQL Server 2005/2008 性能对比

python - 优化字典循环求和值