Verificar la inclusión de listas en Python

Beginner

This tutorial is from open-source community. Access the source code

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:

  1. Recorre cada valor único en la lista a.
  2. Para cada valor, comprueba si aparece más veces en la lista a que en la lista b.
  3. Si algún valor aparece más veces en la lista a que en la lista b, devuelve False.
  4. Si todos los valores de la lista a aparecen en la lista b al menos tantas veces como aparecen en la lista a, devuelve True.
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.