将列表转换为 Python 中设置的运行时间

Sri*_*ram 1 python runtime space list set

在 Python 中,如果将列表转换为集合,运行时间和空间复杂度是多少?

Example:
data = [1,2,3,4,5,5,5,5,6]

# this turns list to set and overwrites the list
data = set(data)

print data 
# output will be (1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)

mha*_*wke 5

将列表转换为集合需要访问列表中的每个项目一次,O(n)。将一个元素插入一个集合是 O(1),所以总的时间复杂度是 O(n)。

新集合所需的空间小于或等于列表的长度,因此也是 O(n)。

这是Python 数据结构的一个很好的参考