Python:从嵌套列表中移除单个元素
我在弄清楚如何从一个嵌套列表中删除某个东西时遇到了麻烦。
比如,我想从下面的列表中删除'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]]
完成。