-2

IndexErrorはリストを取得し続けます。私のコードは次のようになります。

for x in range(len(MAIN_list[0])):
                   print(x)
                   print(MAIN_list[9][x])
                   print(MAIN_list[10][x])
                   print(MAIN_list[0][x] + "; " + MAIN_list[1][x] + \
                         "; " + MAIN_list[2][x] + "; " + MAIN_list[3][x] + \
                         "; " + MAIN_list[4][x] + "; " + MAIN_list[5][x] + \
                         "; " + MAIN_list[6][x] + "; " + MAIN_list[7][x] + \
                         "; " + MAIN_list[8][x] + "; " + MAIN_list[9][x] + \
                         "; " + MAIN_list[10][x])

今、出力は次のとおりです。

0
cross
tick
Traceback (most recent call last):
  File "C:\Users\Michele2\Desktop\Arcrate\MyCASH\Python Code\Scraping\Scraping1.3(clean)TEST.py", line 246, in <module>
    "; " + MAIN_list[10][x])
IndexError: list index out of range

通常、リストの実際の長さを超えた変数に対してこのエラーが発生することはわかっていますが、ここでは、それを単独で呼び出すと正しい出力が得られますが (つまり、出力の 3 行目)、リストを印刷しようとすると得られません。全体として。どんなことでも大歓迎です。

ありがとう

4

1 に答える 1

0

私が見ることができる唯一のポイントは、あなたのリストの 1 つが他のリストよりも偶然に短いということです。

行単位ではなく列単位という非常に奇妙な方法でデータを構造化しました。

通常、MAIN_list行のリスト (リストまたはタプル) があります。次に、でアクセスしてMAIN_list[row][column]、それらを正しい順序で反復できます。

あなたの場合、物事は異なります。最初にチェックすべきポイントは

for x in range(11):
    print(len(MAIN_list[x]))

列を繰り返し処理し、それらの長さをチェックします。1つ空いてるかも…

ところで、理由を見つけて修正したら、式を単純化することをお勧めします。

print("; ".join(MAIN_list[i][x] for i in range(11)))
于 2013-09-05T10:48:47.230 に答える