检查列表中的哪些数字可以被某些数字整除?

Check what numbers in a list are divisible by certain numbers?

编写一个接收数字列表的函数 以及术语列表和 returns 只有可整除的元素 通过所有这些条款。你必须使用两个嵌套的列表理解来解决它。

divisible_numbers([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], [2, 3]) # returns [ 12, 6]

def divisible_numbers(a_list, a_list_of_terms):

到目前为止我有一个模糊的伪代码,它包括检查列表,如果它被附加到一个新列表检查是否可整除,检查新列表检查是否可以被下一项整除并重复直到你完成所有条款,我不希望任何人为我做这件事,但也许是正确方向的提示?

内部表达式应检查对于特定数字,该数字是否可以被第二个列表中的所有项整除

all(i%j==0 for j in a_list_of_terms)

然后一个外部列表推导来遍历第一个列表的项目

[i for i in a_list if all(i%j==0 for j in a_list_of_terms)]

一起

def divisible_numbers(a_list, a_list_of_terms):
    return [i for i in a_list if all(i%j==0 for j in a_list_of_terms)]

测试

>>> divisible_numbers([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], [2, 3])
[12, 6]