我是python的新手,我在打印列表元素时遇到了麻烦



结果如下:

[([[17, 11], [57, 11], [57, 61], [17, 61]], '2', 1.0)]

我只想打印2(列表的第二个元素?),但不断得到"列表索引超出范围"错误。

下面是我试图用来打印列表元素的代码:

print (result[1][0])

完整代码:

number = 1
sresult = ''
reader = easyocr.Reader(['en'])
for number in range (1,82):
result = reader.readtext(datadrop+ str(number)+'.png')
print (result[1][0])
sresult = str(result) +sresult
print (sresult)

列表中只有一个元组([(...)]),因此访问result[1][0]将得到IndexError。您可以通过将代码更改为-

来解决此问题。
number = 1
sresult = ''
reader = easyocr.Reader(['en'])
for number in range (1,82):
result = reader.readtext(datadrop+ str(number)+'.png')
print (result[0][1][0])
sresult = str(result) +sresult
print (sresult)

我假设你想访问元组中的第二个元素。

这个成功了:

number = 1
sresult = ''
reader = easyocr.Reader(['en'])
for number in range (1,82):
result = reader.readtext(datadrop+ str(number)+'.png')
if len(result) != 0:
print (result[0][1][0])
sresult = str(result) +sresult
print (sresult)

我必须添加一种方法来处理空结果,并使用sr0812

中的[0][1][0]解决方案。