如何在Python中用较少的时间复杂度来检查一个项目是否在生成器中。

问题描述 投票:0回答:1
gen = (i for i in range(1000))
print(555 in gen) #True

我们可以使用 in 运营商。

  1. 时间复杂度是多少?

  2. 在搜索生成器中的元素时,降低时间复杂度的最佳方法是什么?

python python-3.x generator itertools
1个回答
-1
投票

你可以通过使用集合来降低时间复杂度。

gen = {i for i in range(1000)}
print(555 in gen) #True

集合是无序的,但是为了更快的查找而进行了哈希。希望能帮到你,祝你编码愉快!

© www.soinside.com 2019 - 2024. All rights reserved.