Anfängerfragen zu Listen: Nächstes Element
Verfasst: Freitag 7. Mai 2021, 16:43
Hallo ich bin Pythonanfänger und habe folgendes Problem:
Gegeben sei eine Liste mit strings A=[1,2,3,5,6,M,-,100,t,e,s,t]
Ziel:
Es soll der Teil vor dem ersten Buchstabe in der Liste in eine Liste abgelegt werden. Der Rest soll in eine andere Liste abgelegt werden. Ich scheiter leider schon bei dem ersten Teil. Nämlich soll das Zählen zunächst erstmal ab einem gewissen Fortschritt unterbrochen werden.
Lösung/Ideen:
Vermutlich könnt ihr das super schnell lösen. Ich hab aber als (ziemlich sehr^10 blutiger) Anfänger damit ziemliche Probleme
Gleich bei mehreren Dingen, hier mal ein Codeschnipsel:
Es wird also in die Liste A immer dann eine Zahl geschrieben, wenn diese in der Liste A ist. Leider entspricht das nicht dem Ziel, denn er soll ja nach der Zahl 6 aufhören (ich hab an der Stelle natürlich dann mit elif weitergeschrieben, aber das klappt alles bisher nicht)
Gleich eine Frage zu dem Code vorweg: Kann ich mir das A=[] nicht irgendwie sparen ?
Es müsste also noch eine Abbruchbedingung dazu kommen oder aber "wenn das nächste Element ein Buchstabe ist". Dachte da an sowas hier (geht natürlich nicht, da Anfänger ^^). Ich vermute mal das i+1 schlichtweg falsch ist oder ?
Gegeben sei eine Liste mit strings A=[1,2,3,5,6,M,-,100,t,e,s,t]
Ziel:
Es soll der Teil vor dem ersten Buchstabe in der Liste in eine Liste abgelegt werden. Der Rest soll in eine andere Liste abgelegt werden. Ich scheiter leider schon bei dem ersten Teil. Nämlich soll das Zählen zunächst erstmal ab einem gewissen Fortschritt unterbrochen werden.
Lösung/Ideen:
Vermutlich könnt ihr das super schnell lösen. Ich hab aber als (ziemlich sehr^10 blutiger) Anfänger damit ziemliche Probleme

Code: Alles auswählen
A=['1','2','3','5','6','M','-','100','t','e','s','t']
liste_B=[]
for i in A:
if i.isdigit():
liste_B.append(i)
Gleich eine Frage zu dem Code vorweg: Kann ich mir das A=[] nicht irgendwie sparen ?
Es müsste also noch eine Abbruchbedingung dazu kommen oder aber "wenn das nächste Element ein Buchstabe ist". Dachte da an sowas hier (geht natürlich nicht, da Anfänger ^^). Ich vermute mal das i+1 schlichtweg falsch ist oder ?
Code: Alles auswählen
A=['1','2','3','5','6','M','-','100','t','e','s','t']
liste_A=[]
for i in A:
if i.isdigit() and (i+1).isalpha()==False: # bzw. (i+1).isdigit()==True
A.append(i)
else:
break