我有一个使用列表理解生成的数字列表,但我想让 python 检查输出,并且只在数字中的每个数字都是偶数时才打印结果(例如 266)。如果数字是偶数,例如 218,但每个数字都不能被 2 整除,则不应打印。有人可以帮忙吗?
这是我的代码:
jail=[res for res in range(200,300)if res % 2 ==0 ]
print(jail)
最佳答案
我建议直接生成您想要的数字,而不是事后过滤列表。函数 itertools.product
可用于生成所有后缀,(0, 0)
, (0, 2)
, .. 。, 等等。然后,只需将 200
添加到每个。
from itertools import product
vals = [200 + int(''.join(t)) for t in product('02468', repeat=2)]
这在某种程度上是可扩展的。假设您想要生成所有以 2000 开头并以 4888 结尾的四位偶数,那么您可以使用:
vals = [int(''.join(t)) for t in product(*(('24',) + ('02468',) * 3))]
如果您想要不太干净的边界,您可以在之后过滤结果。
关于python - 如何生成所有数字都是偶数的数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145872/