python 一行打印出100以内的质素(素数)

python的列表推导式它是个好东西,不仅在列表里能用,在字典、集合中同样能用。

如果想用一行代码打印出100以内的质数(素数)的话,不妨尝试一下下面这行代码:

[print(k) for k in (set(range(2, 100 + 1)) - set([i + 1 for i in range(1, 100) for j in range(i) if (i + 1) % (j + 1) == 0 and j + 1 not in [1, i + 1]]))]

当然,这样的一行过的代码并没有任何实际的意义,且这个也不是求质数(素数)的最优办法。我认为,代码行数的极致缩减,只是所谓的高手秀技能罢了,对实际开发没有什么帮助哈哈。FYI。

你可能感兴趣的:(python,质数,数学)