IndexError:列表索引超出嵌套列表范围

时间:2019-02-13 03:21:09

标签: list python-3.6 nested-lists

for i in list404:
    for j in range(len(table)):
        if table[j][0] == i:
            table.remove(table[j])
    for k in range(len(stack)):
        if stack[k][0] == i:
            stack.remove(stack[k])
    for l in range(len(symbols)):
        if symbols[l] == i:
            symbols.remove(symbols[l])

list404是股票列表。我想删除表,堆栈和名称中显示在列表404中的符号内的股票。表和堆栈是我猜的嵌套列表。结构如下:[[a,b,c],[a,b,c],[a,b,c]]。我只想检查a是否在list404中。如果存在,请从表中删除整个列表。

这是错误。 IndexError:如果table [j] [0] == i:

,则列表索引超出范围

有人可以帮我吗???谢谢!

1 个答案:

答案 0 :(得分:0)

Ken White所说,您不应在表的长度循环中从表中删除元素, 我认为除了此以外,您还可以创建一个新列表,如果该项目在您的条件下有效,则将其放在新列表中:

注意:由于我不知道您的数据的结构到底是什么样子,我只写了一个示例代码,但是您可以为您的数据进行更改。

new_table = []
new_stack = []
new_symbols = []
for i in list404:
    for j in range(len(table)):
        if table[j][0] != i:
            new_table.append(table[j])
    for k in range(len(stack)):
        if stack[k][0] != i:
            new_stack.append(stack[k])
    for l in range(len(symbols)):
        if symbols[l] != i:
            new_symbols.append(symbols[l])