PERF: fix clean_index_list perf
closes #16285

```
In [1]: np.random.seed(1234)

In [2]: import pandas as pd
   ...: from numpy import random
   ...: dct = dict(zip(range(1000), random.randint(1000, size=1000)))
   ...: keys = random.randint(1000, size=1000000).tolist()
   ...: %timeit [dct[k] for k in keys]
   ...: sdct = pd.Series(dct)
   ...: %timeit sdct[keys]
```

0.19.2
```
76.7 ms ± 1.12 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
568 ms ± 5.07 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
```

0.20.1
```
85.9 ms ± 2.58 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
691 ms ± 20.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
```

0.20.2
```
90.5 ms ± 1.09 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
282 ms ± 5.11 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
```