私はPythonには少し新しく、私の間違いが何を伴っているかを理解するのに役立つことができます。Python forループIndexError:リストのインデックスが範囲外にある
datafile = "filename.csv"
colors = ['Green','White','Yellow','Pink','Blue','Purple','Gray','Brown','Orange','Red','Black'] # put in order of the columns
colnames = []
for color in colors:
colnames.append(color+"1")
colnames.append(color+"2")
# Define data structure to hold responses for each column
responses = dict()
for colname in colnames:
responses[colname] = []
# Read in the responses
lines = open(datafile,"r").readlines()
for line in lines:
data = line.strip('\n').split(",")
for i,colname in enumerate(colnames):
if '1' in colname:
responses[colname].append(data[i])
else:
responses[colname].append(data[i].split(','))
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-21-4039ddb1f5f5> in <module>()
21 responses[colname].append(data[i])
22 else:
---> 23 responses[colname].append(data[i].split(','))
24
25 # Count the number of subjects
IndexError: list index out of range
私はIndexError: list index out of range
が実際else:
からであるか、何かがresponses[colname].append(data[i].split(','))
と間違っているかどうかわからないです。 また、リストcolnames
の私のfor
ループでは、私はかなり確信することができ、その側面は正しいですが、私はあなたがIndexError
を得た理由のために割り当て上記のコードは、あると思い
エラーが表示されたら、行番号が表示されます。それを見て、見つけたものを見てみてください。 – SneakyTurtle
は 'data [i]'のように見えます。 – haifzhan
インデックスはおそらくデータ[i]のものです。基本的にはより多くの色を持っています(1と2のラベルを付けてからx2)。次にデータ要素があります – Jim