Если вы хотите новый список всех элементов, которые появляются в любом из 2 исходных списков, вы можете использовать класс set
для достижения этого. Может быть так:
>>> a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
>>> list(sorted(set(a) | set(b)))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 21, 34, 55, 89]
Для этого нужно построить 2 набора из списков, затем найти объединение всех элементов и затем преобразовать результат обратно в список.
Этот подход будет быстрее, чем проверка elem for elem in a if elem in b
для больших списков, потому что тесты членства O(1)
для наборов, но до O(n)
для списков.