Ungleichheitsausreißer finden

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung müssen Sie die Ungleichheitsausreißer in einer gegebenen Liste finden. Ungleichheitsausreißer sind Elemente in einer Liste, die eine andere Parität (ungerade oder gerade) als die Mehrheit der Elemente in der Liste haben.

Ungleichheitsausreißer finden

Schreiben Sie eine Funktion find_parity_outliers(nums), die eine Liste von ganzen Zahlen nums als Argument nimmt und eine Liste aller Ungleichheitsausreißer in nums zurückgibt.

Um dieses Problem zu lösen, können Sie die folgenden Schritte ausführen:

  1. Verwenden Sie collections.Counter mit einer Listenkomprehension, um die Anzahl der geraden und ungeraden Werte in der Liste zu zählen.
  2. Verwenden Sie collections.Counter.most_common(), um die häufigste Parität zu erhalten.
  3. Verwenden Sie eine Listenkomprehension, um alle Elemente zu finden, die nicht der häufigsten Parität entsprechen.
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]

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie Sie die Ungleichheitsausreißer in einer Liste von ganzen Zahlen finden. Sie haben das Modul collections.Counter verwendet, um die Anzahl der geraden und ungeraden Werte in der Liste zu zählen, und dann die häufigste Parität gefunden. Schließlich haben Sie eine Listenkomprehension verwendet, um alle Elemente zu finden, die nicht der häufigsten Parität entsprechen.