gpt4 book ai didi

python - 列表索引超出范围,python

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:37 25 4
gpt4 key购买 nike

我有一个问题,就是我有这样的一维列表:

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 上,它只有一个值。在这里,您尝试更改列表中没有索引的 12 的值。所以你得到了错误。

使用append而不是在将 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,2,3),(2,3,4),(3,4,5)]
for j in range(3):
List_A.append(List_B[j][2])
# Do other stuff

关于python - 列表索引超出范围,python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31523621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com