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 :
- Utilisez
set()sur la combinaison des deux listes pour trouver les valeurs uniques. - Itérez dessus avec une boucle
foren comparant lecount()de chaque valeur unique dans chaque liste. - Retournez
Falsesi les comptages ne correspondent pas pour un élément quelconque,Truesinon.
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.