### How to make "zip" work faster?

I have these two finite sets $A$ and $B$ where the size of $A$ is typically much larger than the size of $B$. (typically $|A| ~~~ ~~is 200-500$ and $|B| ~~~ ~~is 10-50$) I am trying to enumerate all possible maps from $B$ to $A$ using the following idea - but this turns out to be very slow.

Is there a way to speed this up?

- Without the over all "for i" loop can I access any one of the "k"s?
(for every i each $l$ is a list of tuples)

How can I just pick out any one such "k" list without wanting to wait for the whole code to run.

```
from itertools import product
for i in product(A,repeat = len (B)):
k = zip(B,i)
S.append(k)
show(S)
```