Python素数列表在一行代码范围内

2024-04-26 10:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

如何写一行方法来检查数字是否在数的范围内? 返回值是素数/非范围内每个数字的列表。
输出示例: [“质数”、“非质数”…“非质数”、“质数]


Tags: 方法示例列表数字素数质数返回值
1条回答
网友
1楼 · 发布于 2024-04-26 10:24:19

这可能就是您正在寻找的:

# 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和自身之外的其他因素

相关问题 更多 >