【发布时间】:2019-02-13 03:21:08
【问题描述】:
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 是股票列表。我想删除表格中的股票,堆栈和名称显示在 list404 中的符号。表格和堆栈是我猜的嵌套列表。结构是这样的:[[a, b, c], [a, b, c], [a, b, c]]。我想要的只是检查 a 是否在 list404 中。如果存在,则从表中删除整个列表。
这是错误。 IndexError: list index out of range in if table[j][0] == i:
谁能帮帮我???谢谢!
【问题讨论】:
-
您正在循环中从
table中删除元素,这意味着您不再拥有与循环开始时从len(table)中获得的相同数量的元素。你最终会跑出列表的末尾。 -
哦,我明白了!但是我该如何解决这个问题???
-
停止从列表中删除元素。 :-) 或者在列表中向后迭代(从结尾到开头),这会阻止你跑到最后。
标签: list python-3.6 nested-lists