Python- 范围一行代码中的质数列表

Python- list of prime number in range one line code

如何在一行中编写检查数字是否在数字范围内的方法? return 值是范围内每个数字 prime/not 的列表。

输出示例: [“prime”, “not prime”...”not prime”' ,“prime]

这可能是您要找的:

# one line
primes = ["prime" if num > 1 and len([i for i in range(2, int(num / 2+1)) if num % i == 0]) == 0 else "not prime" for num in num_list]

# e.g.
>>> num_list = [1,2,3,4,5,6,7,8,9,10,11]
>>> primes = ["prime" if num > 1 and len([i for i in range(2, int(num / 2+1)) if num % i == 0]) == 0 else "not prime" for num in num_list]
>>> primes
['not prime', 'prime', 'prime', 'not prime', 'prime', 'not prime', 'prime', 'not prime', 'not prime', 'not prime', 'prime']

内部列表理解(即[i for i in range(2, int(num / 2+1)) if num % i == 0])用于检查数字是否有除1和本身之外的其他因素。