Python列表有大小,但无法访问元素

2024-05-16 18:20:10 发布

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

我构建了一些代码,从文件中挑选数据,将每行分割为三个块,并将这三个块作为列表输出:

def n1gramSep(fileLine):
    output = []
    stringBuffer = ""

    for char in fileLine:
        if char not in "!\"$.%&\'abcdefghijklmnopqrstuvwxyz01234567890":
            if stringBuffer != "":
                output.append(stringBuffer) 
            stringBuffer = ""
        else:
            stringBuffer += char     
    return output

而且有效!但是,在后面的函数中,当我尝试将列表的某些元素赋给某些变量时,IndexError:list index总是超出范围。你知道吗

但这很奇怪,因为当我要求程序打印列表的内容时,我清楚地得到了预期的结果:例如:['9.99', 'dog', '5.25]。然后,当我同时检查每个列表的长度时,我也得到了期望值3。你知道吗

但每当我尝试 nInfo.append(n1gramInfo[x])其中x是0、1或2,它总是失败。你知道吗

我完全被难住了!我有什么误解吗?你知道吗

谢谢。你知道吗


Tags: 数据代码in列表foroutputifdef
1条回答
网友
1楼 · 发布于 2024-05-16 18:20:10

可能文件中有一行引起了问题。例如,结尾经常有一个空行

你可以试试这样的办法来解决你的问题

try:
    nInfo.append(n1gramInfo[x])
except IndexError:
    print(n1gramInfo, x)
    import pdb;pdb.set_trace()  # optional, but a good time to learn the debugger

相关问题 更多 >