Ich habe eine Funktion, die in einer Schleife Dictionaries an eine Liste anbinden soll. Das jeweilige Dictionary (indexdict) wird von einer anderen Funktion gefüllt, die vorher aufgerufen wird (macht der xml-parser).
Das Anhängen an die Liste sieht so aus:
Code: Alles auswählen
def parseList(self, filelist):
tmplist=[]
for filename in filelist:
#setup xml-parser (must be done every time)
p= xml.parsers.expat.ParserCreate('ISO-8859-1')
p.StartElementHandler = self.start_file_element
print filename
#start parsing
try:
p.ParseFile(open(filename, 'r'))
except:
pass #just ignore xml-errors
print"\nAppend to list:"
print self.indexdict
tmplist.append(self.indexdict)
print "Outputlist: "
print tmplist
return tmplist
Am Ende steht in der Liste tmplist der Inhalt des letzten self.indexdict, allerdings 5x hintereinander (Schleife läuft bei mir 5x).
Ich find den Fehler einfach nicht.