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

ibr*_*him 3 python math for-loop list-comprehension

编写一个函数,该函数接收数字列表和术语列表,并仅返回可被所有这些术语整除的元素.您必须使用两个嵌套列表推导来解决它.

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

def divisible_numbers(a_list,a_list_of_terms):

到目前为止,我有一个模糊的伪代码,包括检查清单,如果它附加到新列表,检查是否可分,检查新列表检查是否可以被下一个术语整除,并重复直到,你已经完成了所有条款,我不知道我想让任何人为我这样做,但也许是正确方向的暗示?

Cor*_*mer 9

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

all(i%j==0 for j in a_list_of_terms)
Run Code Online (Sandbox Code Playgroud)

然后是外部列表理解,以迭代第一个列表的项目

[i for i in a_list if all(i%j==0 for j in a_list_of_terms)]
Run Code Online (Sandbox Code Playgroud)

全部一起

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)]
Run Code Online (Sandbox Code Playgroud)

测试

>>> divisible_numbers([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], [2, 3])
[12, 6]
Run Code Online (Sandbox Code Playgroud)