我无法弄清楚如何从嵌套列表中删除某些内容。
例如,如何从下面的列表中删除“x”?
lst = [['x',6,5,4],[4,5,6]]
我尝试del lst[0][0]
,但我得到以下结果:
TypeError:'str'对象不支持删除项目。
我也试过了一个for循环,但得到了同样的错误:
for char in lst:
del char[0]
答案 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?