我有一個填充隨機數的列表,我想從此列表中返回素數。所以,我創建了這些功能:從Python中隨機數列表過濾素數的最有效方法
def is_prime(number):
for i in range(2, int(sqrt(number)) + 1):
if number % i == 0:
return False
return number > 1
而且
def filter_primes(general_list):
return set(filter(is_prime, general_list))
但我想提高性能,所以我怎麼能做到這一點?
這裏有*噸的解決方案,特別是在SO上,顯示了主要檢查的實現。你有沒有檢查過他們? – idjaw
不知道這是否有助於提高性能,因爲我沒有時間去測試任何東西,但是如果number> 1,則返回True,否則False可以歸結爲:return number> 1。 –
是的,有大量的素數檢查解決方案,但它們都不適用於隨機數列表的場景。 – flpn