import math
def primeList(n):
plist = [2, 3]
j = 3
srt=math.sqrt
app=plist.append
while len(plist) < n:
j += 2
lim = srt(j)
for p in plist: # 100k primes: 3.75s vs 5.25 with while loop
if p > lim: # and setting of the flag var
app(j)
break
if j%p == 0:
break
return plist
print primeList(100000)[-1]
aW1wb3J0IG1hdGgKZGVmIHByaW1lTGlzdChuKToKICAgIHBsaXN0ID0gWzIsIDNdCiAgICBqID0gMwogICAgc3J0PW1hdGguc3FydAogICAgYXBwPXBsaXN0LmFwcGVuZAogICAgd2hpbGUgbGVuKHBsaXN0KSA8IG46CiAgICAgICAgaiArPSAyCiAgICAgICAgbGltID0gc3J0KGopCiAgICAgICAgZm9yIHAgaW4gcGxpc3Q6ICAgICAjIDEwMGsgcHJpbWVzOiAzLjc1cyB2cyA1LjI1IHdpdGggd2hpbGUgbG9vcAogICAgICAgICAgICBpZiBwID4gbGltOiAgICAgICAgICAgICAgICAgICAgIyBhbmQgc2V0dGluZyBvZiB0aGUgZmxhZyB2YXIKICAgICAgICAgICAgICAgIGFwcChqKQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgaiVwID09IDA6CiAgICAgICAgICAgICAgICBicmVhawogICAgcmV0dXJuIHBsaXN0CnByaW50IHByaW1lTGlzdCgxMDAwMDApWy0xXSAgICA=