Comparer le contenu de listes en programmation

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En programmation, il est souvent nécessaire de vérifier si deux listes contiennent les mêmes éléments, quelle que soit leur ordre. Cela peut être utile dans diverses situations, comme vérifier si deux ensembles de données ont les mêmes valeurs ou vérifier si une fonction renvoie la sortie attendue. Dans ce défi, vous écrirez une fonction qui vérifie si deux listes ont le même contenu.

Vérifiez si deux listes ont le même contenu

Écrivez une fonction have_same_contents(a, b) qui prend deux listes en arguments et renvoie True si elles ont le même contenu, False sinon. La fonction doit vérifier si les deux listes contiennent les mêmes éléments, quelle que soit leur ordre.

Pour résoudre ce problème, vous pouvez suivre ces étapes :

  1. Utilisez set() sur la combinaison des deux listes pour trouver les valeurs uniques.
  2. Itérez dessus avec une boucle for en comparant le count() de chaque valeur unique dans chaque liste.
  3. Retournez False si les comptages ne correspondent pas pour un élément quelconque, True sinon.
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

Résumé

Dans ce défi, vous avez appris à vérifier si deux listes ont le même contenu, quelle que soit leur ordre. En utilisant la fonction set() et en itérant sur les valeurs uniques, vous pouvez comparer le count() de chaque élément dans les deux listes pour déterminer si elles ont le même contenu.