gpt4 book ai didi

python - Python 如何检查一个元素是否存在于列表中?

转载 作者:行者123 更新时间:2023-12-05 08:57:14 27 4
gpt4 key购买 nike

使用 Python 提供的标准语法检查元素是否在列表中:

if someElement in someList:

这里实际执行的是什么? Python 是循环遍历每个索引并检查相等性,还是正在实现更复杂的东西?

我正在编写的程序运行速度非常慢。没有执行任何数学运算,但它在很大程度上依赖于检查长列表中是否存在项目。有没有更快速的解决方案?

已解决:检查元素是否在列表中与遍历每个项目并检查是否相等相同。但是,检查集合中的项目要快得多,因为这些项目是散列的。

即使列表中的项目不可散列(在我的例子中,其他列表),转换为字符串、存储在集合中并在需要时转换回来仍然是值得的。起初,我认为这很笨重并且会降低性能。然而,它确实让我的程序在几分钟内完成,而这在以前需要几天时间。

不要低估检查一组项目的速度。

最佳答案

是的,它遍历每个索引并检查是否相等。

这个:

someElement in someList

相当于:

any( x == someElement for x in someList )

要加快速度,您可能可以使用 set 而不是 list,但这实际上取决于集合中元素的类型。

如果列表很大,查找可能会很慢。

关于python - Python 如何检查一个元素是否存在于列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34758781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com