[英]Beginner: Why am I getting this error: IndexError: list assignment index out of range
[英]Python: not sure why I am getting “IndexError: list assignment index out of range” error
我认为发布经过稍微修改的代码版本(出于隐私原因而修改)会更容易。 本质上,我是根据csv文件中提供的信息创建目录结构的。 该代码首先将csv转换为2d列表。 然后,脚本在csv中搜索以找到相关信息,并且应逐行创建目录路径。 将检查目录路径以查看它是否已经存在,如果不存在,则应创建它。 唯一的问题是,我用于pi和poc的循环给我一个错误“ IndexError:列表分配索引超出范围”,我不确定为什么。
#We need to find what column in the 2D list these fields are listed in the header
x,y = index_containing_substring(data,"PiID")
pi = []
if x != None and y != None:
for i in range(len(data)):
pi[i] = data[i][y]
#removes header row
pi.pop(0)
else:
pi = None
print(' ')
print("No value for PI")
x,y = index_containing_substring(data,"RequesterID")
poc = []
if x != None and y != None:
for i in range(len(data)):
poc[i] = data[i][y]
#removes header row
poc.pop(0)
else:
poc = None
print(' ')
print("No value for point of contact")
例如,在这里:
pi = []
if x != None and y != None:
for i in range(len(data)):
pi[i] = data[i][y]
您不能将pi
分配给不存在的元素。
解决此问题的一种方法是使用list.append()
代替:
pi = []
if x != None and y != None:
for i in range(len(data)):
pi.append(data[i][y])
相同的模式出现在代码中的其他位置。
看起来这行引起了问题
pi[i] = data[i][y]
代替那个用途
pi.append(data[i][y])
有关更多信息,请参见以下链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.