Python :: Aufgabe #326
4 Lösungen
Duplikate aus Liste/Array entfernen
Anfänger - Python
von JKooP
- 20.02.2021 um 16:36 Uhr
Gegeben ist eine unsortierte 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, 4, 1, 3, 1, 4}
List<char> {‘a’, ‘b’, ‘a’, ‘a’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt und die Liste anschließend sortiert werden.
Lösung:
List<int> {1, 3, 4}
List<char> {‘a’, ‘b’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann sortiert wieder zurückgibt.
Viel Spaß
Dabei sind alle Werte des gleichen Typs. Statt der Liste können auch Arrays genutzt werden.
Beispiele:
List<int> {1, 4, 1, 3, 1, 4}
List<char> {‘a’, ‘b’, ‘a’, ‘a’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt und die Liste anschließend sortiert werden.
Lösung:
List<int> {1, 3, 4}
List<char> {‘a’, ‘b’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann sortiert wieder zurückgibt.
Viel Spaß
Lösungen:
Python-Code
""" #326: Duplikate aus Liste/Array entfernen Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann sortiert wieder zurückgibt. """ def nodup(lst): print(sorted(set(lst))) def main(): nodup({1, 4, 1, 3, 1, 4}) nodup({"a", "b", "a", "a", "c"}) if __name__ == '__main__': main()
Python-Code
def unduplicate(): """Entfernt Duplikate einer engegengenommen Liste und gibt sie sortiert wieder aus""" lst = [] while True: e = input('Gib hier einen Wert ein.' ' Wenn du genug Werte eingegeben hast, Drücke "#" und Eingabe zum Ausgeben der neuen Liste: ') if e == '#': break else: lst.append(e) lst_set = set(lst) end_list = list(lst_set) print('\nEntferne Duplikate...') print('... ... ...') print(sorted(end_list)) unduplicate()
Python-Code
liste_alt = [1, 5, 6, 7, 9, 0, 3, 5, 6, 3, 1, 2, 3, 3, 4, 3, 1, 4, 12, 7, 4, 1, 2, 2, 3, 7] liste_alt.sort() liste_neu = [liste_alt[0]] for i in range(0, len(liste_alt) - 1): if liste_alt[i] != liste_alt[i + 1]: liste_neu.append(liste_alt[i + 1]) print(liste_neu)
Python-Code
#Erstellung Funktion def liste_sortiert(): for element in liste0: if element not in liste1: liste1.append(element) liste1.sort() #Aufruf Listen liste0 = [1,4,2,2,9,8,8,5,3,2,1,7] liste1 = [] #Aufruf Funktion liste_sortiert() #Ausgabe der neuen Liste print(liste1)