数据结构如果我想在python中搜索大量的电话号码,那么从set和dictionary中选择哪种数据类型是最好的.<



我想在python中搜索大量的电话号码数据,我应该使用哪个数据集来搜索数据类型- set或字典

这是一个非常依赖于需求的问题。首先,如果这不是一个算法问题,而你需要经常运行它,那么这两种方法都行不通。

现在,回到你的问题。集合是字典有不同的用例。如果需要存储引用键的内容,那么显然使用Set是没有意义的。如果你没有任何东西可以存储,在Dictionary中存储一个虚拟值只是为了检查键是否存在,这是一个坏主意。

考虑到您的问题,您是否考虑过实施Trie?考虑到电话号码的大小和字符集是固定的,与SetDictionary相比,使用trie可以相当快地进行查找。

我认为,如果你必须在集合和字典之间做出选择,你应该使用字典,因为它们更容易维护和更新,你也可以使用键进行搜索。

另一方面,一个集合只能包含某物的一个副本,因此永远不会因为元素重复而出现问题。

如果你想做的只是检查某个数字是否在某个数字容器中,你应该使用setdict只是一个set,其中每个元素都链接到其他值。如果你不使用这个功能,那么dict就只是一个set而已。

您将需要使用dict,例如,如果您想将电话号码映射到人名。

如果您的用例可以通过任何一种方式完成,这样,set就可以提供所有需要的值,而不会在值上浪费内存,并且由于不需要考虑未使用的值,因此应该更容易阅读。

使用集合

最新更新