Другой способ – это использование множеств. Подходит только для списков, которые не содержат вложенных списков, так как функция set() выдает ошибку, если ей передать список со вложенными изменяемыми объектами.
Множества не могут содержать одинаковых элементов. Результатом операции пересечения двух множеств является множество, содержащее значения элементов, которые были и в первом и во втором операндах-множествах. Например, если первое множество было {1, 4, 9, 12}, а второе – {4, 6, 9, 14, 18}, то результатом операции пересечения будет {4, 9}.
Списки преобразуются во множества с помощью функции set.
a = [5, 2, 'r', 4, 'ee']
b = [4, 1, 'we', 'ee', 2, 'r']
c = list(set(a) & set(b))
print(c)
При этом если в списках встречались одинаковые значения, то во множествах они будут уже представлены единственным вариантом. Поэтому в данном случае списки могут содержать одинаковые значения.
После того, как списки были преобразованы во множества, над ними можно выполнить операцию пересечения.
С помощью знака & выполняется пересечение множеств. Кроме того, над множествами можно выполнять ряд других операций: | (объединение), - (разность), ^ (исключающее ИЛИ).
Достарыңызбен бөлісу: |