我有这段代码,旨在根据它是否等于Iris-versicolor
将2D数组的单元格的值更改为1或0。
for row in data:
if (row[4] == "Iris-versicolor"):
row[4] == 1
else:
row[4] == 0
问题是它在if语句的行"IndexError : list index out of range"
上给出了错误。我理解错误(我认为)说我试图访问一个不存在的单元格,除了我已经检查过并且我的数据数组确实有第5列(索引为4)并且我不知道#39;看看错误可能来自何处。
非常感谢任何帮助,
Mindoo
编辑:这是我正在使用的数据库的链接。 众所周知的Iris database。
答案 0 :(得分:3)
尝试更改
row[4] == 1
到
row[4] = 1
也是行[4] = 0
答案 1 :(得分:0)
如果您的数据是列表列表
for row in data:
if len(row) >= 4:
if (row[4] == "Iris-versicolor"):
row[4] = 1
else:
row[4] = 0
在访问之前检查行是否至少有5个元素。