当前位置: 首页 > 网络应用技术

Python词典扫描多长时间?

时间:2023-03-08 15:46:29 网络应用技术

  简介:今天,首席主席团将与您分享python词典扫描的时间。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  段落首先:

  if(pos in fre_dist.keys()):

  newValue = fre_dist [pos]

  第2节:

  if(pos in fre_dist):

  newValue = fre_dist [pos]

  处理30,000个数据时,第二代码的速度是第一代码的速度数千倍。

  原因是第一个代码fre_dist.keys()已成为列表。搜索列表时,Python相对较慢。第二个代码fre_dist是字典。python在搜索字典时更快。

  因为字典由与相对值相关的密钥索引,因此从理论上讲,他的查询复杂性为o(1)。

  哈希表(也称为分布列表),直接访问的数据结构是根据键值执行的(键值)。它通过将键和值映射到表中的位置来访问记录。此查询速度非常快,更新很快。此映射函数称为哈希函数,存储值的数组称为哈希表。哈希函数的实现确定哈希表的搜索效率。

  最近编写并运行了处理1500万个数据的程序。最初,每秒可以处理约150个数据。预计将在大约15小时内处理。结果可以在中午获得

  但是,当我第二天看到它时,IntersectionLintersectionnot完成了什么,当前的数据处理速度变为大约5秒钟,然后需要等待300小时。

  然后我检查了这个问题。事实证明,许多人在处理大数据时也遇到了这个问题。大多数文章分析了GC(垃圾回收)引起的性能下降的原因。

  Python垃圾回收机制的工作原理是维持每个对象的参考计数。必须修改每个内存对象的创建和破坏。因此,当创建大量对象时,执行大量的对象,额外的性能开销非常糟糕,有两种可能回收时间安排的可能性。一个是用户主动调用gc.collect(),另一个是对象的数量超过阈值。

  因此,GC正在降低该程序的性能,因此我们可以考虑禁止在处理时垃圾回收利用。

  改进后,速度将大大提高。但是,将存在另一个问题,内存溢出。由于在操作过程中生成了大量对象,因此使用后没有参考。由于垃圾回收机制已关闭,因此内存中没有清洁。记忆使用越来越大。解决方案是定期打开gc.enable()或关闭或主动致电GC.Collect(),因此没关系。

  在上述改进之后,该程序确实很多,但是我的程序越来越慢。我怀疑自己的生活,然后测试每个步骤上花费的时间。然后每个迭代结果将新数据添加到数据框架中。随着内部的数据越来越多,额外的速度变得越来越慢,严重阻力的速度是,这里有两个解决方案:

  将结果保存在1段中,将结果保存一次时间,最后再次合并结果。

  2更改数据存储方法。我使用Python词典直接保存结果。随着数据的增加,它也会放慢速度,但差异不是很大。它可以在可接受的范围内使用;也可以使用;也可以使用;也可以使用;也可以使用;或可以使用方法1,也可以将其保存在各节中。

  查看计算机配置的方式。如果是普通的PC,则可能需要一天大约一天,而用于破解密码的工作站可能需要几分钟。

  一个星期或一个月。

  如果您自己学习并从零基础中学习Python,根据每个人的不同学习和理解能力,我认为这将花费大约半年到半年到一年半。

  当然,Python相对简单。如果您有其他编程语言经验,则该条目Python仍然非常快。花了大约1-2个月的时间后,您可以编写一些小程序进行练习。5-6个月可用于进行项目。

  在一定程度上,一些基于零的初学者不太可能希望使用Python两个月。这也很难实现,无法迅速实现就业。

  结论:以上是首席CTO注释为每个人编写的Python词典的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。不要忘记在此网站上找到它。