Introducción
En Python, a menudo es necesario comprobar si una lista está contenida en otra lista. Esto puede ser un poco complicado, especialmente si el orden de los elementos en las listas no importa. En este desafío, escribirás una función que compruebe si los elementos de una lista están contenidos en otra lista, independientemente del orden.
Contenido de lista
Escribe una función is_contained_in(a, b) que tome dos listas como argumentos y devuelva True si todos los elementos de la lista a están contenidos en la lista b, independientemente del orden. En caso contrario, la función debe devolver False.
Para resolver este problema, puedes utilizar el siguiente enfoque:
- Recorre cada valor único en la lista
a. - Para cada valor, comprueba si aparece más veces en la lista
aque en la listab. - Si algún valor aparece más veces en la lista
aque en la listab, devuelveFalse. - Si todos los valores de la lista
aaparecen en la listabal menos tantas veces como aparecen en la listaa, devuelveTrue.
def is_contained_in(a, b):
for v in set(a):
if a.count(v) > b.count(v):
return False
return True
is_contained_in([1, 4], [2, 4, 1]) ## True
Resumen
En este desafío, has aprendido cómo comprobar si una lista está contenida en otra lista, independientemente del orden. Has escrito una función que toma dos listas como argumentos y devuelve True si todos los elementos de la lista a están contenidos en la lista b, independientemente del orden.