python 中重新分配的内存复杂度

Memory complexity of reassign in python

我想知道将 python 中的线性变量重新分配给新的线性类型变量的内存复杂度是多少。例如,考虑一个带有一个列表参数的函数,它将其转换为集合。

def func(list_var):
    list_var = set(list_var)
    return list_var

是O(n)内存复杂度还是O(1)?

作业本身不是必需的;从调用者的角度来看,以下具有完全相同的语义:

def func(list_var):
    return set(list_var)

重要的部分是对 set 的调用,它必须分配一个具有 n 个新引用的数据结构,list_var 中的每个元素一个,因此 space 复杂度为 O(n).