列表索引超出范围,python
发布时间:2020-12-20 11:44:23 所属栏目:Python 来源:网络整理
导读:我有一个问题,就是我有这样的1D列表: List_A = [] 我还有另一个列表,如下所示: List_B = [(1,2,3),(2,3,4),(3,4,5)] 现在我尝试使用: for i in range(3):List_A[i] = List_B[i][2] 这意味着,我想从List_B到List_A取每个最后(第3个)数字,但是它被称为“索
我有一个问题,就是我有这样的1D列表:
List_A = [] 我还有另一个列表,如下所示: List_B = [(1,2,3),(2,3,4),(3,4,5)] 现在我尝试使用: for i in range(3): List_A[i] = List_B[i][2] 这意味着,我想从List_B到List_A取每个最后(第3个)数字,但是它被称为“索引超出范围”,那么问题是什么?非常感谢你的帮助 我知道append方法,但我认为我不能使用它,因为我的代码在循环中,List_B中的值在每一步都会发生变化,例如: List_A = [] for i in range(5): List_B = [(i*1,i*2,i*3),(i*2,i*3,i*4),(i*3,i*4,i*5)] for j in range(3): List_A[j] = List_B[j][2] 也就是说,如果我使用append方法,List_A将放大到15个元素大小,但我需要在每个i循环中刷新值. 解决方法
问题在于List_A只有一个值.在这里,您尝试更改列表中没有的索引1和2的值.所以你得到了错误.
在将List_A声明为[]后使用 for i in range(3): List_A.append(List_B[i][2]) 这可以在单个list-comp中完成 List_A = [i[2] for i in List_B] 发表编辑 – 在第一个循环之后立即进行初始化 for i in range(5): List_A = [] # Here List_B = [(1,5)] for j in range(3): List_A.append(List_B[j][2]) # Do other stuff (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |