也许这是一个非常棒的问题。
从列表中查找元素的复杂性是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)
是否存在这样的数据类型?