设置功能用法?

时间:2018-01-24 00:59:38

标签: python set

使用set函数列出所有独特元素是否是一个好习惯,或者是否有更好的方法,这些方法具有较低的时间和空间复杂性。

1 个答案:

答案 0 :(得分:1)

在以下情况下,简单地调用set是查找唯一元素的最佳方式:

  • 这些项目可以播放,
  • 您不需要保留原始订单

它已经是O(n)了,你无法渐进地改进它。如果您需要保留订购:

from collections import OrderedDict
list(OrderedDict.fromkeys(seq))

这仍然是O(n)渐近,但由于更多的开销(Python循环与C循环)通常会更慢。如果必须处理不可用元素,则可能需要使用列表O(n ^ 2):

unique = []
for item in seq:
    if item not in unique:
        unique.append(item)