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

4 投票
3 回答
11210 浏览
提问于 2025-04-16 13:37

我在弄清楚如何从一个嵌套列表中删除某个东西时遇到了麻烦。

比如,我想从下面的列表中删除'x',该怎么做呢?

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

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

类型错误:'str'对象不支持删除操作。

我还试过用for循环,但也遇到了同样的错误:

for char in lst:
    del char[0]

3 个回答

0

你还可以使用“pop”这个方法。比如说,

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

这样做会得到

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

想了解更多,可以看看这个讨论:如何通过索引在Python中从列表中移除一个元素?

3

你的代码运行得很好。你确定 lst 是定义为 [['x',6,5,4],[4,5,6]] 吗?因为如果是这样的话,del lst[0][0] 实际上会删除 'x'

也许你把 lst 定义成了 ['x',6,5,4],那样的话,你提到的错误确实会出现。

4

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

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

完成。

撰写回答