我试着编写一个脚本,允许循环遍历一个列表(tmpList=openFiles(cop\u node))。此列表包含206个组件的其他5个子列表。 子列表的最后200个组件是字符串编号(每个组件由200个字符串编号组成的行,用空格分隔)。你知道吗
我需要遍历主列表并创建一个包含5个组件的新列表,每个新组件包含200*200的浮点值。你知道吗
我的实际代码是尝试向使用等效于一个子列表的旧代码添加第二个循环。但是python返回一个错误“索引超出范围”
def valuesFiles(cop_node):
tmpList = openFiles(cop_node)
valueList = []
valueListStr = []*len(tmpList)
for j in range (len(tmpList)):
tmpList = openFiles(cop_node)[j][6:]
tmpList.reverse()
for i in range (len(tmpList)):
splitList = tmpList[i].split(' ')
valueListStr[j].extend(splitList)
#valueList.append(float(valueListStr[j][i]))
return(valueList)
valueListStr = []*len(tmpList)
不做您认为它做的事情,如果您想要一个列表列表,请使用带有范围的列表comp:将创建一个列表列表:
所以为什么会出现错误是因为
valueListStr[j].extend(splitList)
,不能为空列表编制索引。你知道吗实际上,您似乎没有在任何地方返回列表,因此我假设您确实希望返回它,您也可以根据需要在循环中创建列表,也可以在
tmpList
和openFiles(cop_node)
上循环:使用
itertools.chain
可以变成:稍加修改后,我就可以正常工作了:
我不明白为什么第一个循环语句不起作用。最后,我得到了这样的空列表:[[],[],[],[],[],[]。所以我才改了开头。最后我把字符串转换成浮点数。你知道吗
相关问题 更多 >
编程相关推荐