python - Python中最有效的字符串连接方法是什么?

Python 中是否有高效的批量字符串连接方法(如 C# 中的 StringBuilder 或 Java 中的 StringBuffer)?

我发现了以下方法here :

  • 使用 +
  • 的简单连接
  • 使用字符串列表和 join 方法
  • 使用 MutableString 模块中的 UserString
  • 使用字符数组和 array 模块
  • 使用 StringIO 模块中的 cStringIO

应该使用什么以及为什么?

( A related question is here. )

最佳答案

您可能对此感兴趣:An optimization anecdote由 Guido .尽管值得记住的是,这是一篇旧文章,并且早于诸如 ''.join 之类的东西的存在(尽管我猜 string.joinfields 更多或-不太一样)

在此基础上,array 模块可能是最快的,如果你能把你的问题硬塞进去的话。但是 ''.join 可能足够快 并且具有惯用语的优点,因此其他 Python 程序员更容易理解。

最后,优化的黄金法则:除非你知道自己需要,否则不要优化,衡量而不是猜测。

您可以使用 timeit 测量不同的方法模块。这可以告诉你哪个最快,而不是互联网上的随机陌生人猜测。

https://stackoverflow.com/questions/1316887/

相关文章:

python - Django 内容类型究竟是如何工作的?

linux - 如何在 Ubuntu 中添加用户?

python - 如何使用 Python 写入 Excel 电子表格?

python - 在 Celery 中检索队列中的任务列表

linux - ubuntu "No space left on device"但是有很多空间

python - 如何在 Linux 上使用 Python 导出

linux - epoll() 是否在 O(1) 中完成工作?

python - Matplotlib 中的 bin 大小(直方图)

python - 如何使用 strftime 计算期间 (AM/PM)?

linux - 计算shell中文件的大小