Wie finde ich einzelne Elemente in einer Python-list?
Hallo.
Ich sitze momentan an einem Problem zu welchem ich online leider nirgends eine Lösung finde. Ich versuche in einer Liste in Python herauszufinden, welche Elemente nicht doppelt vorkommen. Mein Ziel ist also, aus beispielsweise
list = [1,2,2,3,4,5,5,6,6,7]
eine neue Liste mit dem Inhalt [1,3,4,7] zu bekommen.
Hat jemand eine Ahnung, wie ich das erreichen kann?
Lg
5 Antworten
Kannst es einfach mit einer for Schleife machen wo du überprüfst ob der letzte Wert mit dem jetztigen Wert übereinstimmt oder du benutzt eine Hashmap. Hier benutzt du eine for each Schleife und guckst zuerst ob das Element, also die Zahl in der Hash map in den Keys der Hasmap existiert, wenn ja setzt du die value unter dem Key +=1 (value ist hier der Counter der individuellen Zahl) wenn nein setzt du das neue Element in den keys hinzu.
um nun eine Liste ohne doppelte Zahlen, oder Zeichen zu bekommen lässt du dir alle keys der Hasmap geben und in eine neue Liste schreibenY
a =[1,2,2,3,4,5,5,6,6,7]
iterator = filter(lambda x: a.count(x)==1, a)
print(list(iterator))
Zum Beispiel
>>> import collections
>>> [k for k,v in collections.Counter( [1,2,2,3,4,5,5,6,6,7] ).items() if v==1]
[1, 3, 4, 7]
list.cout(n)
Gibt zurück, wie oft n in list vorhanden ist. Also heißt es :
liste = [1,2,2,3,4,5,5,6,6,7]
a = list(filter(lambda x : liste.count(x) == 1, liste))
Du kannst im ersten Durchlauf ein Dict mit int zu count Werten populieren.
Dann kannst du durch die liste (oder die dict keys) durlaufen und die keys ausgeben, für die count =1 ist