Python :: Aufgabe #325
5 Lösungen

Duplikate bis auf Dopplungen aus Liste entfernen
Anfänger - Python
von JKooP
- 21.02.2021 um 11:24 Uhr
Gegeben ist eine sortierte Liste, welche alle gängigen Datentypen aufnehmen kann.
Dabei sind alle Werte des gleichen Typs. Statt der Liste können auch Arrays genutzt werden.
Beispiele:
List<int> {1, 1, 1, 2, 2, 3}
List<char> {‘a’, ‘a’, ‘b’, ‘c’, ‘c’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt werden, wobei hier jeder Wert 2-mal vorkommen darf.
Lösung:
List<int> {1, 1, 2, 2, 3}
List<char> {‘a’, ‘a’, ‘b’, ‘c’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt
und diese dann wieder als Rückgabewert oder Referenz zurückgibt.
Viel Spaß
Dabei sind alle Werte des gleichen Typs. Statt der Liste können auch Arrays genutzt werden.
Beispiele:
List<int> {1, 1, 1, 2, 2, 3}
List<char> {‘a’, ‘a’, ‘b’, ‘c’, ‘c’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt werden, wobei hier jeder Wert 2-mal vorkommen darf.
Lösung:
List<int> {1, 1, 2, 2, 3}
List<char> {‘a’, ‘a’, ‘b’, ‘c’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt
und diese dann wieder als Rückgabewert oder Referenz zurückgibt.
Viel Spaß
Lösungen:

from typing import List from typing import Union def doublicates_two_allowed(arr: List[Union[int, str]]) -> List[Union[int, str]]: filtered_list = [] [filtered_list.append(elem) for elem in arr if filtered_list.count(elem) < 2] return filtered_list

""" #325: Duplikate bis auf Dopplungen aus Liste entfernen Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann wieder als Rückgabewert oder Referenz zurückgibt. """ import numpy as np def dupyes(arr_in): arr_ot = {x: arr_in.count(x) for x in arr_in} arr_ot1 = (np.array(list(arr_ot.items()))) arr_ot2 = [] for i in range(0, len(arr_ot1)): if arr_ot1[i][1] == 1 or arr_ot1[i][1] == '1': arr_ot2.append(arr_ot1[i][0]) else: arr_ot2.append(arr_ot1[i][0]) arr_ot2.append(arr_ot1[i][0]) print(arr_ot2) def main(): dupyes([1, 1, 1, 2, 2, 3]) dupyes(["a", "a", "b", "c", "c", "c"]) if __name__ == '__main__': main()

def duplikate(liste): b=[] liste=sorted(liste) for i in liste: if i not in b: count=0 b.append(i) count=count+1 elif i in b: if count==1: b.append(i) count=count+1 elif count>2: continue return(b) print(duplikate([2,2,3,4,3,3,4,4,5,1,1,7,8,8,9]))

liste_alt = ['a', 'a', 'b', 'c', 'c', 'c'] liste_neu=[liste_alt[0]] counter = 0 for i in range(0, len(liste_alt)-1): if liste_alt[i]==liste_alt[i+1]: counter+=1 if counter <2: liste_neu.append(liste_alt[i+1]) else: counter=0 liste_neu.append(liste_alt[i + 1]) print(liste_neu)

#Funktion def streiche_duplikate(): i = 0 while i < len(liste0): if liste0.count(liste0[i])>2: liste0.remove(liste0[i]) i+=1 #Aufruf Liste liste0 = ['a','a','a','b','b','c','c','c','e',] #Aufruf Funktion streiche_duplikate() #Ausgabe Liste print(liste0)