Python 需要列表1中列表2元素的公共因子

Python 需要列表1中列表2元素的公共因子,python,python-3.x,Python,Python 3.x,答:[4,8,16,4,8,16,4,6,8,12,16] 有两个列表 列表1有因子,列表2有数字, 要查找列表1中的所有数字,这些数字除以列表2中的所有数字 我想要的答案:[4,8,16] 由于所有这些数字都可以将列表2中的数字分开,请尝试以下操作: 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]

有两个列表 列表1有因子,列表2有数字, 要查找列表1中的所有数字,这些数字除以列表2中的所有数字

我想要的答案:[4,8,16]

由于所有这些数字都可以将列表2中的数字分开,请尝试以下操作:

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)
输出:

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)
试试这个:

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)
输出:

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)