Ако имате iterable в Python, за да направите списък, можете просто да извикате list()
вграден
:
list(cursor.fetchall())
Имайте предвид, че итерацията често е също толкова полезна, колкото списъка, и потенциално по-ефективна, тъй като може да бъде мързелива.
Вашият оригинален код се проваля, тъй като няма много смисъл. Преминавате през редовете и ги изброявате, така че получавате (0, first_row), (1, second_row)
и т.н... - това означава, че създавате списък с n-тия елемент от всеки n-ти ред, което изобщо не е това, което искате.
Този код показва някои проблеми - първо, list()
без никакви аргументи обикновено е по-добре да се замени с празен списъчен литерал ([]
), тъй като е по-лесно за четене.
След това се опитвате да правите цикъл по индекс, това е лоша идея в Python. Превъртете през самите стойности, а не индекси, които след това използвате, за да получите стойности.
Също така имайте предвид, че когато правите трябва да създадете списък със стойности като този, разбиране на списъка е най-добрият начин да го направите, вместо да създавате списък и след това да го добавяте.