14
检查列表中是否存在值的最快方法
最快的方法是什么才能知道列表中是否存在值(列表中包含数百万个值)及其索引是什么? 我知道列表中的所有值都是唯一的,如本例所示。 我尝试的第一种方法是(在我的实际代码中为3.8秒): a = [4,2,3,1,5,6] if a.count(7) == 1: b=a.index(7) "Do something with variable b" 我尝试的第二种方法是(速度提高了2倍:实际代码为1.9秒): a = [4,2,3,1,5,6] try: b=a.index(7) except ValueError: "Do nothing" else: "Do something with variable b" 堆栈溢出用户建议的方法(我的实际代码为2.74秒): a = [4,2,3,1,5,6] if 7 in a: a.index(7) 在我的真实代码中,第一种方法耗时3.81秒,第二种方法耗时1.88秒。这是一个很好的改进,但是: 我是使用Python /脚本的初学者,有没有更快的方法来完成相同的事情并节省更多的处理时间? 我的应用程序更具体的说明: 在Blender API中,我可以访问粒子列表: particles = [1, …
815
python
performance
list