import?math
def?isprime(n):
????if?not?isinstance(n,int)?or?n<=1:
????????return?False
????for?i?in?range(2,int(math.sqrt(n)+1)):
????????if?n?%?i?==0:
????????????return?False
????return?True
result=[x?for?x?in?range(2,101)?if?isprime(x)]
解釋, 還是建議先定義判斷函數(shù) ,命名為 pythonic 風(fēng)格 isprime(), 然后用 列表推導(dǎo)式 生成結(jié)果吧, 或者將列表表達式包裝為函數(shù)?
def?prime_list(start,end):
????def?isprime(n):
????????if?not?isinstance(n,int)?or?n<=1:
????????????return?False
????????for?i?in?range(2,int(math.sqrt(n)+1)):
????????????if?n?%?i?==0:
????????????????return?False
????????return?True
????return?[x?for?x?in?range(start,end+1)?if?isprime(x)]
????
result?=?prime_list(2,100)
基本就這樣吧