C++;STL集在python3中的实现 < Python 3中的C++ STL集等价于什么?

C++;STL集在python3中的实现 < Python 3中的C++ STL集等价于什么?,python,python-3.x,Python,Python 3.x,如果没有实现,我应该在python中使用什么来: 1) 存储数字列表 2) 是否在该列表中找到不少于的元素?与stl集合的下界类似,您可以使用Python中的set()函数在列表中查找唯一的值(如果您正在查找) 下面是一个例子 temp_list = [1, 2, 3, 2, 1, 4, 5, 4] unique_list = set(temp_list) print(unique_list) 导致 [1, 2, 3, 4, 5] 此外,为了获得不小于某些下限的元素,您可以这样做 lower

如果没有实现,我应该在python中使用什么来:

1) 存储数字列表 2) 是否在该列表中找到不少于的元素?与stl集合的下界类似,您可以使用Python中的
set()
函数在列表中查找唯一的值(如果您正在查找)

下面是一个例子

temp_list = [1, 2, 3, 2, 1, 4, 5, 4]
unique_list = set(temp_list)
print(unique_list)
导致

[1, 2, 3, 4, 5]
此外,为了获得不小于某些
下限的元素,您可以这样做

lower_bound = 2
filtered_list = [i for i in unique_list if i >= lower_bound]

我并不擅长评估时间复杂性,但我认为一个解决方案是创建一个自定义生成器来复制行为

def setLowerBound(x, lowerBound):
    if not isinstance(x, set):
        x = set(x)
    for value in x:
        if value < lowerBound:
            continue
        else:
            yield value
输出:

[1, 2, 4, 5, 6, 12, 5, 12, 5, 1, 2, 79, 6, 12, 6, 1]
5
6
12
79

有些吹毛求疵:是的,但它们不一样。是的,但在这种情况下,时间复杂度是O(N)。可以在O(logN)时间内完成吗?
[1, 2, 4, 5, 6, 12, 5, 12, 5, 1, 2, 79, 6, 12, 6, 1]
5
6
12
79