l がリストのとき、

if e in l:

を多用すると極端に遅くなるんですけど、もしかして、線形探索して探していますか?

s = set(l)

if e in s:

としたほうが速いですか?

もしそうだとすると、自動的に

if e in l:

と書いたとき、 l を集合に変換して検索してくれればいいのにと思うのですが。