Zip выполняет итерации по обоим спискам одновременно, поэтому он найдет HCF, только если факторы находятся в одинаковых позициях в lst1
и lst2
. Вместо этого вы просто хотите найти общие элементы в двух списках. Попробуйте следующее:
HCF = []
for e1 in lst1:
if e1 in lst2:
HCF.append(e1)
В качестве альтернативы, с здесь :
HCF = list(set(lst1).intersection(lst2))
Это работает с 24 и 36, потому что их факторы совпадают. Я думаю, вы получили 4 в качестве ответа?
24: 2, 3, 4, 6, 8, 12
36: 2, 3, 4, 9, 12, 18