Using setand using them difference, which has complexity O(len(set_object)):
>>> s1, s2 = set(source_list), set(diff_list)
>>> s1.difference(s2)
{'five'}
>>> s2.difference(s1)
{'seven', 'six', 'zero'}
which can also be written as:
>>> s1 - s2
{'five'}
>>> s2 - s1
{'seven', 'six', 'zero'}
list, list(s1 - s2) list(s2 - s1) .
, list source_list diff_list in:
uniques:
source_unique = [v1 for v1 in source_list if v1 not in set(diff_list)]
source_unique
['five']
diff_unique:
diff_unique = [v1 for v1 in diff_list if v1 not in set(source_list)]
diff_unique
['zero', 'six', 'seven']
O(len(list)), .