是否有任何Hashable列表数据类型?

时间:2018-01-22 10:55:15

标签: python list dictionary big-o

也许这是一个非常棒的问题。

从列表中查找元素的复杂性是O(n)(如果列表已排序,则可以在O(log n)中完成,这样更好)。

然而,在字典中执行相同操作的复杂性是O(1)(因为字典中的键是可清除的)。

然后,如果我的数据是可混合的(整数,字符串),我可以将我的数据存储为字典键,以便在查看元素是否在字典中时提高速度。

然而,字典是一对键/值,我只想将它用作列表,所以我只需要没有值的键。

当然我可以创建一个每个键都有空值的字典,但是我想知道,还有什么东西已经存在来做我所建议的吗?

如果我这样做需要O(1)

my_dict = {2:[], 8:[], 3:[], 4:[]}
3 in my_dict

如果我使用列表,则需要O(n):

my_list = [2,8,3,4]
`3 in my_list`

我想要像

这样的东西
my_hashable_list = [2,8,3,4]
3 in my_hashable_list()   # so it takes O(1)

是否存在这样的数据类型?

0 个答案:

没有答案