微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python中的数据结构-如果我想在python中搜索大量电话号码,哪种数据类型最适合集合和字典

如何解决python中的数据结构-如果我想在python中搜索大量电话号码,哪种数据类型最适合集合和字典

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

解决方法

我认为,如果您必须在集合和字典之间进行选择,您应该使用字典,因为它们更易于维护和更新,而且您还可以使用键进行搜索。

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

,

如果您只想检查某个数字是否在某个数字容器中,则应使用 object BubbleSort { def main(args: Array[String]): Unit = { val arr = Array(5,3,2,5,6,77,99,88) var temp = 0 var fixed = false while (fixed == false) { fixed = true for (i <- 0 to arr.length - 1) { if (i + 1 < arr.length && arr(i) > arr(i + 1)) { temp = arr(i + 1) arr(i + 1) = arr(i) arr(i) = temp fixed = false } } } arr.foreach(println) } } set 只是一个 dict,其中每个元素都链接到某个其他值。如果您不使用此功能,则 set 只是具有一些开销的 dict

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

,

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

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

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

,

如果您的用例可以通过任何一个来完成,那么该集合将为您提供所需的一切,而不会在值上浪费内存,并且应该更易于阅读,因为您不必考虑未使用的值。

使用一组。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。