Python中的HashSet<Integer>包含

2024-10-01 19:19:02 发布

您现在位置:Python中文网/ 问答频道 /正文

在Java中,我们有HashSet<Integer>,我需要Python中类似的结构来使用contains,如下所示:

A = [1, 2, 3]
S = set()
S.add(2)
for x in A:
    if S.contains(x):
        print "Example"

你能帮忙吗?


Tags: inaddforifexampleintegerjava结构
1条回答
网友
1楼 · 发布于 2024-10-01 19:19:02

只需使用一套:

>>> l = set()
>>> l.add(1)
>>> l.add(2)
>>> 1 in l
True
>>> 34 in l
False

同样适用于列表:

>>> ll = [1,2,3]
>>> 2 in ll
True
>>> 23 in ll
False

编辑: 请注意@bholagabar在下面的评论,列表和元组中的in签入的时间复杂度平均为O(n)(请参见python文档here),而对于集合,它的时间复杂度平均为O(1)(最坏情况也是O(n),但非常罕见,只有在__hash__实现得不好的情况下才会发生)。

相关问题 更多 >

    热门问题