Introducción
En la programación, a menudo es necesario comprobar si dos listas contienen los mismos elementos, independientemente de su orden. Esto puede ser útil en una variedad de situaciones, como comprobar si dos conjuntos de datos tienen los mismos valores o verificar si una función está devolviendo la salida esperada. En este desafío, escribirás una función que compruebe si dos listas tienen el mismo contenido.
Comprueba si dos listas tienen el mismo contenido
Escribe una función have_same_contents(a, b) que tome dos listas como argumentos y devuelva True si tienen el mismo contenido, False en caso contrario. La función debe comprobar si las dos listas contienen los mismos elementos, independientemente de su orden.
Para resolver este problema, puedes seguir estos pasos:
- Utiliza
set()en la combinación de ambas listas para encontrar los valores únicos. - Itera sobre ellos con un bucle
forcomparando lacount()de cada valor único en cada lista. - Devuelve
Falsesi las cuentas no coinciden para ningún elemento,Trueen caso contrario.
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
Resumen
En este desafío, has aprendido cómo comprobar si dos listas tienen el mismo contenido, independientemente de su orden. Al utilizar la función set() e iterar sobre los valores únicos, puedes comparar la count() de cada elemento en ambas listas para determinar si tienen el mismo contenido.