## Issue

I’m trying to get a list with all numbers that are in the form 6n+1 or 6n-1.

Currently I have this:

```
n = 100000000
l = int(n/6)
f1 = lambda x: (6*x)-1
f3 = lambda x: (6*x)+1
primeCandidate = [f(i) for i in range(1,l+1) for f in (f1,f3)]
```

This works nicely, and it gets me 2 values on the list per i, but I was wondering if I could do something similar with NumPy arrays

## Solution

How about this. When you divide a number by 6, the modulo has to be either 1 or 5:

```
arr = np.arange(2, n)
out = arr[np.isin(np.mod(arr, 6), [1,5])]
```

Test:

```
assert arr[np.isin(np.mod(arr, 6), [1,5])].tolist() == [f(i) for i in range(1,l+1) for f in (f1,f3)]
```

Answered By – enke

Answer Checked By – Mildred Charles (BugsFixing Admin)