[英]List comprehension for finding all prime numbers from a range of numbers?
[x for x in range(1,100) if all(x%y for y in range(2,x))]
無法理解上面的代碼如何返回正確的結果,相反應該
[x for x in range(1,100) if all(x%y!=0 for y in range(2,x))]
原因是如果僅條件之一為True
則全部為True
。
在布爾上下文中,非零整數被認為是真實的,因此代碼段是等效的。
請注意,此算法錯誤地將1
分類為質數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.