python - 两个可分割列表

标签 python

如果 list_1 中的所有数字都可以被 list_2 中的至少一个数字整除,我需要此函数返回 True。我尝试为此使用 all 函数:

for num1 in list_1: 
    if all(num1 % num2 == 0 for num2 in list_2)
    return True

我的解决方案的问题是它检查 list_1 中的所有数字是否可以被 list_2 中的所有数字整除,而这不是我所要求的。

我想知道是否有一种方法可以使 list_1 的所有数字在 list_2 中至少有一个因子?一个例子是:

List_1 = [15, 10, 4, 8, 12] List_2 = [2, 5, 3] 输出真

List_1 = [15, 10, 7, 8, 12] List_2 = [2, 5, 3] 输出假

第二种情况为 False,因为 7 不能被 list_2 中的任何数字整除。

最佳答案

您可以在理解中组合allany:

>>> l1=[8,10,20]
>>> l2=[2,3]
>>> any(all(n1%n2==0 for n1 in l1) for n2 in l2)
True

如果你想检查 list1 中的任何数字应该至少被 list 2 中的一个数字整除,你可以按如下方式重组上面的语句:

>>> l1,l2=[15, 10, 4, 8, 12],[2, 5, 3]
>>> all(any(n1%n2 for n2 in l2) for n1 in l1)
True

关于python - 两个可分割列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73760165/

相关文章:

python - 使用 numpy 数组将值分配给另一个数组

python - 获取字典值作为列表

python - 事件形状模型 : matching model points to target points

python : Argument based Singleton

python - 对 Python 中的 readline() 返回感到困惑

python - 我需要使用 urllib2.Request/urlopen 处理哪些错误/异常?

Python 字符串不可变?

python - 反转 python 2.7 中 difflib 的 get_matching_blocks 结果并获取 MISMATCHED block

python - pygame 和平铺 map 碰撞

python - 从 HTML 调用 Python 函数不起作用