如何解决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
。鉴于电话号码的大小和字符集是固定的,与 Set
或 Dictionary
相比,您可以使用特里树进行快速查找。
如果您的用例可以通过任何一个来完成,那么该集合将为您提供所需的一切,而不会在值上浪费内存,并且应该更易于阅读,因为您不必考虑未使用的值。
使用一组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。