Introduction
Dans ce défi, vous êtes chargé de trouver les anomalies de parité dans une liste donnée. Les anomalies de parité sont des éléments d'une liste qui ont une parité (impair ou pair) différente de la majorité des éléments de la liste.
Trouver les anomalies de parité
Écrivez une fonction find_parity_outliers(nums) qui prend une liste d'entiers nums en argument et renvoie une liste de tous les anomalies de parité dans nums.
Pour résoudre ce problème, vous pouvez suivre ces étapes :
- Utilisez
collections.Counteravec une compréhension de liste pour compter les valeurs paires et impaires dans la liste. - Utilisez
collections.Counter.most_common()pour obtenir la parité la plus commune. - Utilisez une compréhension de liste pour trouver tous les éléments qui ne correspondent pas à la parité la plus commune.
from collections import Counter
def find_parity_outliers(nums):
return [
x for x in nums
if x % 2!= Counter([n % 2 for n in nums]).most_common()[0][0]
]
find_parity_outliers([1, 2, 3, 4, 6]) ## [1, 3]
Sommaire
Dans ce défi, vous avez appris à trouver les anomalies de parité dans une liste d'entiers. Vous avez utilisé le module collections.Counter pour compter les valeurs paires et impaires dans la liste, puis trouvé la parité la plus commune. Enfin, vous avez utilisé une compréhension de liste pour trouver tous les éléments qui ne correspondent pas à la parité la plus commune.