【发布时间】:2020-02-18 13:03:28
【问题描述】:
我有一个问题,如果以下代码执行到位或具有额外的空间复杂性。鉴于该句子最初是一个字符串。感谢感谢帮助
sentence = "hello world"
sentence = sentence.split()
【问题讨论】:
-
源是字符串,结果是列表。这怎么能就地执行?
-
@GPhilo 列表中的子字符串可以使用与原始不可变字符串相同的后备数组。
-
python 字符串基本上是不可变的,不会对它们“原地”发生任何操作,无论您做什么都会创建另一个字符串(或者在您的情况下,完全是另一个对象 - 一个列表)跨度>
-
@tobias_k 不过,这不是就地的意思。
-
没有明确的答案,但是在拆分一个非常非常长的字符串 (~5GB) 后,我的交互式 Python 会话(使用 Python 3.6.8 的 IPython 5.5)的内存消耗大约翻了一番。
标签: python split space-complexity