Wenn Sie eine Iterable in Python haben, um eine Liste zu erstellen, können Sie einfach die list()
eingebaut
:
list(cursor.fetchall())
Beachten Sie, dass ein Iterable oft genauso nützlich ist wie eine Liste und potenziell effizienter, da es faul sein kann.
Ihr ursprünglicher Code schlägt fehl, da er nicht allzu viel Sinn macht. Sie durchlaufen die Zeilen und zählen sie auf, sodass Sie (0, first_row), (1, second_row)
erhalten , etc... - das bedeutet, dass Sie eine Liste des n-ten Elements jeder n-ten Zeile aufbauen, was überhaupt nicht das ist, was Sie wollten.
Dieser Code zeigt einige Probleme - erstens list()
ohne Argumente wird im Allgemeinen besser durch ein leeres Listenliteral ersetzt ([]
), da es einfacher zu lesen ist.
Als nächstes versuchen Sie, nach Index zu schleifen, das ist eine schlechte Idee in Python. Überschleifen Sie die Werte selbst, nicht die Indizes, die Sie dann verwenden, um die Werte zu erhalten.
Beachten Sie auch, wenn Sie tun müssen eine Liste von Werten wie diese erstellen, ein Listenverständnis ist der beste Weg, dies zu tun, anstatt eine Liste zu erstellen und diese dann anzuhängen.