Python-Hilfe benötigt

  • Hey, habe folgende Aufgabe:
    Ich habe einen Input "sentence" (ein Satz) den ich splitten muss in eine liste.

    Also nehme ich den Input und mache zB folgendes:

    Code
    1. x = sentence.split()



    Dieser Part funktioniert.
    Das Problem ist, jetzt soll ich den Input so splitten, dass er beim Splitten auch auf Punkte, Kommas etc. achtet und diese als einzige Einträge in der Liste sieht.

    Also zB der Satz "Hi, Ich bins."
    ist momentan mit "sentence.split() folgendes:
    ["Hi," "Ich", "bins."]
    soll aber jetzt folgendes werden:
    ["Hi", ",", "Ich", "bins", "."]

    Wie kriege ich das hin?
    Anscheinend muss ich eine for-loop benutzen, aber ehrlich gesagt kp

  • Code
    1. sentence = "Hi, Ich bins." #input sentence
    2. splitAlphabet = [".", "," ] #add more if needed
    3. for char in splitAlphabet: #iterating over splitAlphabet
    4. sentence = sentence.replace(char, " " + char) #add whitespaces
    5. x = sentence.split() #splitting whitespaces
    6. print(x) #output: ['Hi', ',', 'Ich', 'bins', '.']

    Nicht unbedingt die beste Lösung, aber es ist eine Lösung :S2