List not sieve. I think a little faster.
pTable = lambda n: (n>1)*[2] + (n>2)*[3] + [x for x in range(5,n+1) if (x%6 in [1,5]) and all((x%y != 0 and x%(y+2) !=0) for y in range(5,int(x**0.5)+1,6))] print(pTable(10**3))