Я написал простую утилиту, которая проверяет, имеют ли два набора хотя бы один общий элемент.У меня была та же проблема с оптимизацией сегодня, и ваш пост спас мой день.Это просто способ поблагодарить вас за указание на это, надеюсь, это поможет и другим людям:)
Обратите вниманиеУтилита НЕ возвращает первый общий элемент, а возвращает true, если у них есть хотя бы один общий элемент, в противном случае - false.Конечно, это может быть легко взломано для достижения вашей цели.
def nonEmptyIntersection(A, B):
"""
Returns true if set A intersects set B.
"""
smaller, bigger = A, B
if len(B) < len(A):
smaller, bigger = bigger, smaller
for e in smaller:
if e in bigger:
return True
return False