Einführung
In Python ist eine Liste eine Sammlung von Elementen, die geordnet und veränderbar sind. Manchmal müssen wir die eindeutigen Werte aus einer Liste herausfiltern. In dieser Herausforderung müssen Sie eine Python-Funktion schreiben, die eine Liste als Argument nimmt und eine neue Liste zurückgibt, die nur die nicht-eindeutigen Werte enthält.
Eindeutige Liste-Werte filtern
Schreiben Sie eine Python-Funktion namens filter_unique(lst), die eine Liste als Argument nimmt und eine neue Liste zurückgibt, die nur die nicht-eindeutigen Werte enthält. Um dieses Problem zu lösen, können Sie die folgenden Schritte ausführen:
- Verwenden Sie
collections.Counter, um die Anzahl jedes Werts in der Liste zu erhalten. - Verwenden Sie eine Listenkomprehension, um eine Liste zu erstellen, die nur die nicht-eindeutigen Werte enthält.
Ihre Funktion sollte die folgenden Anforderungen erfüllen:
- Die Funktion sollte eine Liste als Argument nehmen.
- Die Funktion sollte eine neue Liste zurückgeben, die nur die nicht-eindeutigen Werte enthält.
- Die Funktion sollte die ursprüngliche Liste nicht verändern.
- Die Funktion sollte case-sensitiv sein, was bedeutet, dass 'a' und 'A' als unterschiedliche Werte betrachtet werden.
def filter_unique(lst):
## Ihr Code hier
from collections import Counter
def filter_unique(lst):
return [item for item, count in Counter(lst).items() if count > 1]
filter_unique([1, 2, 2, 3, 4, 4, 5]) ## [2, 4]
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie man die eindeutigen Werte aus einer Liste mit Python herausfiltert. Sie haben auch gelernt, wie man collections.Counter verwendet, um die Vorkommen jedes Werts in einer Liste zu zählen, und wie man eine Listenkomprehension verwendet, um eine neue Liste mit nur den nicht-eindeutigen Werten zu erstellen.