当您执行类似列表"test" in a在哪里a的操作时,python会在列表上进行顺序搜索吗?还是创建哈希表表示来优化查找?在应用程序中,我需要这样做,因为我将在列表上进行很多查找,所以最好先执行诸如此类的操作b = set(a),然后执行"test" in b?还要注意,我将拥有的值列表将没有重复的数据,而且我实际上并不在乎它的顺序。我只需要能够检查值的存在。
"test" in a
a
b = set(a)
"test" in b
还要注意,我将拥有的值列表将没有重复的数据,而且我实际上并不在乎它的顺序。我只需要能够检查值的存在。
不要使用列表,set()而是使用列表。它完全具有您想要的属性,包括快速的in测试。
set()
in
我已经看到在一组更改一组列表的地方(大多数情况下是繁重的运算),速度提高了20倍以上。