Python :: Aufgabe #326

4 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von eisheiliger (3750 Punkte) - 04.03.2021 um 17:33 Uhr
Quellcode ausblenden 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()


vote_ok
von Chrisu90 (910 Punkte) - 04.03.2021 um 19:27 Uhr
Quellcode ausblenden 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()
vote_ok
von satn1241 (3090 Punkte) - 06.03.2021 um 21:30 Uhr
Quellcode ausblenden 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)
vote_ok
von Joker (120 Punkte) - 28.03.2021 um 13:56 Uhr
Quellcode ausblenden 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)