在嵌套列表上使用remove

时间:2010-06-11 08:06:28

标签: python

n=[['dgd','sd','gsg'],['fsdsdf','sds','sdf']]
>>> n.remove('sd')

如果我有一个像上面这样的嵌套列表并且想要删除'sd'。我可以做上面的事情是错误吗?

2 个答案:

答案 0 :(得分:3)

n[0].remove('sd')

for i in n:
  try:
    i.remove('sd')
  except ValueError:
    pass

答案 1 :(得分:1)

当您有嵌套列表时,您需要索引顶级列表以获取子列表,然后才能在子列表上使用列表操作。所以你需要这样的东西:

n[0].remove('sd')

您拥有的代码是尝试从仅包含两个列表的列表中删除字符串'sd'['dgd','sd','gsg']['fsdsdf','sds','sdf']

如果Python在嵌套集合上执行自动树递归,那么简单地调用n.remove('sd')将适用于嵌套列表。