'A=[...]' 的 space 复杂度和 Python 中的 'A[:]=[...]' 的复杂度有什么不同吗?

Is there any different between space complexity of 'A=[...]' and 'A[:]=[...]' in Python?

我想知道以下两种情况在 space 复杂性方面有何不同。

案例 1:A = [i ** 2 for i in A]
案例二:A[:] = [i ** 2 for i in A]

我的理解是,在这两种情况下,都会构建一个新数组 (O(n))。在情况 1 中,引用指的是新数组。在情况 2 中,引用指的是它所指的内容,但其内容已更新。是真的吗?

看来你是对的。更新内存中的 pre-allocated 个槽比初始化新数组需要更长的时间。