python 2d数组列表索引超出范围

2024-04-24 04:37:24 发布

您现在位置:Python中文网/ 问答频道 /正文

j=0
i=0
text=[[0 for x in range(5)]for y in range(2)]
while (i<5):
    for link in soup.findAll('td'):
        if j<2:
            text[i][j]=link.string
            j+=1
i+=1

问题是我得到了错误消息list index out of range,但我已经设置了if条件,所以if{}超过{}将不会发生。那么问题是什么呢?在


Tags: textin消息forstringindexif错误
2条回答
[[0 for x in range(5)] for y in range(2)] 

创建数组[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

您的代码是为一个数组构建的,它看起来像:[[0, 0], [0, 0],[0, 0],[0, 0],[0, 0]]。在

所以ij走错了方向,或者你:

[[0 for x in range(5)] for y in range(2)] 

没有给你你想要的。在

text=[[0 for x in range(5)]for y in range(2)]

等于

^{pr2}$

在你的列表中,你有两个列表,每个列表有5个元素。在

再看看这条线:

text[i][j]=link.string

i-变量text中的元素数(有2个)

j-是每个列表中的元素数(有5个元素)

看起来您混合了i和{}。在

相关问题 更多 >