Problem beim aufrufen einer definierten funktion type error

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
flummi
User
Beiträge: 33
Registriert: Samstag 28. April 2012, 13:33

Code: Alles auswählen

import re

def fgruppe(pattern, string):
    for gruppe in re.finditer(pattern, string):
          return gruppe.start() 
wenn ich return benutze erhalte ich immer 0 als rückgabewert, benutze ich hingegen print, kriege ich meine gewünschten zahlen, warum?

ich habe vor einen string nach substrings zu durchsuchen und alle startpunkte in eine liste zu schreiben. wie mach ich das? ich weiß dass es mit append gehen muss.

aber brauch ich dafür nicht returnwerte anstelle von print? und wie krieg ichs hin dass jeder einzelne wert in die liste kommt statt in stdout geht?

quasi diese zahlen hier: http://www.saltycrane.com/blog/2007/10/ ... xpression/ in eine liste packen
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das Erstellen von Listen sind absolute Grundlagen, du solltest einen Blick ins Tutorial werfen.
Das Leben ist wie ein Tennisball.
flummi
User
Beiträge: 33
Registriert: Samstag 28. April 2012, 13:33

Code: Alles auswählen

import re

def fgruppe(pattern, string):
    carboxy=[]
    for match in re.finditer(pattern, string):
          carboxy.append(match.start())
          return carboxy

ich habs so versucht erhalte aber

[0] zurück. Und ich verstehe nicht was da schief läuft.

ich habs mit dem pattern an einer anderen stelle im string versucht und erhalte dann z.b. [5]

es funktioniert also aber nur einmal ;( brauche aber eine liste mit allen match.start
flummi
User
Beiträge: 33
Registriert: Samstag 28. April 2012, 13:33

es lag an der einrückung von return -.-

so langsam raff ichs
Antworten