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)
