检查一个列表的每个元素是否是另一个列表所有元素的倍数
Check if each element of one list is a multiple of all the elements of another list
我有两个列表; S和T。
我想检查 T 的每个元素是否是 S 的所有元素的倍数。如果 S 的所有元素的条件都为真,则将 T 的该元素附加到新列表 V。
输入
S = [2, 4]
T = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
预期输出
V = [4, 8, 12, 16]
我在下面尝试了这段代码,但输出错误;
V = [i for i in T for j in S if i % j == 0]
print(V)
当前错误输出
V = [4, 4, 6, 8, 8, 10, 12, 12, 14, 16, 16]
使用all()
检查所有条件是否为真:
S = [2, 4]
T = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
V = [i for i in T if all(i % j == 0 for j in S)]
print(V)
我有两个列表; S和T。 我想检查 T 的每个元素是否是 S 的所有元素的倍数。如果 S 的所有元素的条件都为真,则将 T 的该元素附加到新列表 V。
输入
S = [2, 4]
T = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
预期输出
V = [4, 8, 12, 16]
我在下面尝试了这段代码,但输出错误;
V = [i for i in T for j in S if i % j == 0]
print(V)
当前错误输出
V = [4, 4, 6, 8, 8, 10, 12, 12, 14, 16, 16]
使用all()
检查所有条件是否为真:
S = [2, 4]
T = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
V = [i for i in T if all(i % j == 0 for j in S)]
print(V)