Introdução
Na programação, é frequentemente necessário verificar se duas listas contêm os mesmos elementos, independentemente da sua ordem. Isso pode ser útil em diversas situações, como verificar se dois conjuntos de dados possuem os mesmos valores ou verificar se uma função está retornando a saída esperada. Neste desafio, você escreverá uma função que verifica se duas listas possuem o mesmo conteúdo.
Verificar se Duas Listas Possuem o Mesmo Conteúdo
Escreva uma função have_same_contents(a, b) que recebe duas listas como argumentos e retorna True se elas possuem o mesmo conteúdo, e False caso contrário. A função deve verificar se as duas listas contêm os mesmos elementos, independentemente da sua ordem.
Para resolver este problema, você pode seguir estes passos:
- Use
set()na combinação de ambas as listas para encontrar os valores únicos. - Itere sobre eles com um loop
forcomparando ocount()de cada valor único em cada lista. - Retorne
Falsese as contagens não corresponderem para nenhum elemento, eTruecaso contrário.
def have_same_contents(a, b):
for v in set(a + b):
if a.count(v) != b.count(v):
return False
return True
have_same_contents([1, 2, 4], [2, 4, 1]) ## True
Resumo
Neste desafio, você aprendeu como verificar se duas listas possuem o mesmo conteúdo, independentemente da sua ordem. Ao usar a função set() e iterar sobre os valores únicos, você pode comparar o count() de cada elemento em ambas as listas para determinar se elas possuem o mesmo conteúdo.