需要来自List1的List2元素的公共因子

时间:2019-01-22 05:42:13

标签: python python-3.x

list1 = [ 4, 6, 8, 10, 12 ,16 ]

list2 = [ 16, 32, 96]

final = [j for i in list2 for j in list1 if i%j==0]

print(final)

回答:[4,8,16,4,8,16,4,6,8,12,16]

有两个列表 list1有因子,list2有数字, 想要从list1中找到所有将list2中的所有数字相除的数字

我想要的是:[4,8,16]

所有这些数字都可以将list2中的数字相除

1 个答案:

答案 0 :(得分:5)

尝试一下:

list1 = [ 4, 6, 8, 10, 12 ,16 ]

list2 = [ 16, 32, 96]

final = [i for i in list1 if all(j % i == 0 for j in list2)]
print(final)

输出:

[4, 8, 16]