Разница «

#python

#питон

Вопрос:

Мне было интересно, есть ли разница между использованием «amp;» и «.intersection()» при нахождении пересечения двух наборов в Python. Если да, то каковы они?

Спасибо.

Ответ №1:

Вы можете прочитать официальную документацию. Вот основное отличие (курсив мой) :

Обратите внимание, что неоператорные версии методов union(), intersection(), difference() и symmetric_difference(), issubset() и issuperset() будут принимать любую итерацию в качестве аргумента. Напротив, их аналоги на основе операторов требуют, чтобы их аргументы были наборами. Это исключает подверженные ошибкам конструкции, такие как set(‘abc’) amp; ‘cbs’, в пользу более читаемого set(‘abc’).intersection(‘cbs’).

Использование неоператорной функции не требует преобразования итерации в виде набора.