Pythonでイテラブルを使用している場合、リストを作成するには、 list() 組み込み
:
list(cursor.fetchall())
反復可能はリストと同じくらい有用であることが多く、怠惰になる可能性があるので潜在的により効率的であることに注意してください。
元のコードはあまり意味がないため失敗します。行をループして列挙すると、(0, first_row), (1, second_row)が得られます。 、など...-これは、各n行目のn番目の項目のリストを作成していることを意味しますが、これはまったく望んでいたことではありません。
このコードはいくつかの問題を示しています-まず、list() 引数がない場合は、通常、空のリストリテラル([])に置き換える方が適切です。 )、読みやすいので。
次に、インデックスでループしようとしています。これはPythonでは悪い考えです。値を取得するために使用するインデックスではなく、値自体をループします。
また、するときは注意してください このような値のリストを作成する必要があります。