4

我无法弄清楚如何从嵌套列表中删除某些内容。

例如,如何从以下列表中删除“x”?

lst = [['x',6,5,4],[4,5,6]]

我试过del lst[0][0]了,但我得到以下结果:

TypeError:“str”对象不支持删除项目。

我也尝试了一个 for 循环,但得到了同样的错误:

for char in lst:
    del char[0]
4

3 回答 3

3

您的代码工作正常。你确定lst定义为[['x',6,5,4],[4,5,6]]?因为如果是,则del lst[0][0]有效地删除'x'.

也许您已经定义lst['x',6,5,4],在这种情况下,您确实会得到您提到的错误。

于 2011-03-13T21:36:16.203 回答
3

使用pop(i)嵌套列表上的函数。例如:

lst = [['x',6,5,4],[4,5,6]]
lst[0].pop(0)
print lst  #should print [[6, 5, 4], [4, 5, 6]]

完毕。

于 2011-03-13T21:38:09.457 回答
0

您也可以使用“流行音乐”。例如,

list = [['x',6,5,4],[4,5,6]]
list[0].pop(0)

将导致

list = [[6,5,4],[4,5,6]]

有关更多信息,请参阅此线程:如何在 Python 中按索引从列表中删除元素?

于 2011-03-13T21:46:39.000 回答