Skip to main content
 首页 » 编程设计

python之检查该列表中的所有元素是否可以被某个给定整数整除

2025年05月04日8webabcd

给定一个列表,我想检查该列表中的所有元素是否都可以被某个给定的整数整除。基于此,我必须返回一个 bool 值。

l=[10,30,40,20] 

例如 - 此列表的所有元素都可以被 5 整除。然后,我将返回 True。 对于 6,我会返回 False。

我能想到的一种方法是生成一个由 bool 值组成的数组,然后对它们进行AND。

blist=[x%5==0 for x in l] 
# [False, False, False, False] 
# AND THE ELEMENTS 

但这种方法有点糟糕。谁能提出一个更简单的 pythonic 方法。

请您参考如下方法:

首先,您需要取模除法 (%),因为您希望查看它是否被 5 整除,因此您检查的是余数,而不是余数划分结果。

您可以使用 the all() builtin (它按照 jar 头上的说明进行操作),但是 you don't need to generate a list, instead use a generator expression :

all(x%5 == 0 for x in l) 

这有惰性的优点,所以一旦一个值不可整除它就会返回,节省计算