Ich habe 500 Datensätze in der Datenbank, und ich sie alle in eine Python-Liste von Wörterbuchelementen. (25 Schlüssel-Wert-Paare)Verfahrgeschwindigkeit Python Liste
Ladenich eine Methode nenne, die in allen Wörterbuchelementen durchquert die Liste und führt eine Aktion für jeden Datensatz durch. Während des Traversierens habe ich festgestellt, dass die Logik nach der Hälfte der Elemente die Methode verlässt und für die nächste Hälfte erneut startet.
Ich habe versucht, es als ein Beispiel zu setzen. (Ich kann den genauen Code nicht kopiert werden, da es nicht möglich ist)
Ex:
def loadrec():
reading from database and appending rows to a global list(mylist)
def myrun():
print "****** Execution Started **********"
for row in mylist:
doing some operations and printing a string
if __name__=="__main__":
i=0
while (i>=0): #This never ends(to make the script run forever)
loadrec()
myrun()
print "****** Execution Ended ************"
Result:
****** Execution Started **********
printed 250 records
****** Execution Ended ************
****** Execution Started **********
printed 125 records
****** Execution Ended ************
****** Execution Started **********
printed 62 records
****** Execution Ended ************
****** Execution Started **********
printed 31 records
****** Execution Ended ************
****** Execution Started **********
printed 15 records
****** Execution Ended ************
****** Execution Started **********
printed 7 records
****** Execution Ended ************
****** Execution Started **********
printed 1 record
****** Execution Ended ************
Ich bin nicht sicher, warum es jedes Mal nur die Hälfte des gesamten Datensätze verarbeitet. Aber am Ende verarbeitet es alle Datensätze.
Ich habe versucht zu überprüfen, ob es ein Problem mit Python-Liste maximale Größe oder Speicher gibt, aber keiner von ihnen scheint ein mögliches Szenario zu sein.
Wäre froh, einen Hinweis darauf zu haben, was der Grund gewesen sein könnte.
Sie haben ein Problem mit Ihrem Code, aber Sie können uns den Code nicht zeigen, möchten aber trotzdem, dass jemand das Problem genau erkennt? Schwierig werden. Nach allem, was wir wissen, haben Sie explizit eine Unterbrechungsbedingung für die Hälfte der Liste codiert. Unwahrscheinlich, aber wie können wir das sagen? –