Я хотел бы эффективно сравнить два списка и определить, имеют ли оба одинаковые элементы.
Списки могут быть None
, пустыми и иметь различную длину. Порядок элементов внутри списка не имеет значения, поэтому ['a', 'b', 'c'] == ['a', 'c', 'b']
равны в моем случае.
Мое текущее решение выглядит так:
def list_a_equals_list_b(list_a, list_b):
if list_a != None and list_b != None:
if len(list_a) != len(list_b):
return False
else:
return len(frozenset(list_a).intersection(list_b)) == len(list_a)
elif list_a == None and list_b == None:
return True
else:
return False
Есть ли более эффективный способ сравнить эти списки?
Спасибо!