Python:从嵌套列表中删除单个元素

时间:2011-03-13 21:32:50

标签: python nested-lists del

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

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

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

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

  

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

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

for char in lst:
    del char[0]

3 个答案:

答案 0 :(得分:3)

您的代码运行正常。您确定lst被定义为[['x',6,5,4],[4,5,6]]吗?因为如果是,del lst[0][0]会有效删除'x'

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

答案 1 :(得分:2)

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

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

完成。

答案 2 :(得分:0)

您也可以使用“pop”。如,

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

将导致

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

有关详情,请参阅此主题:How to remove an element from a list by index in Python?