如何删除列表中列表中的元素?

时间:2017-03-07 10:30:45

标签: python list

我在列表中有列表,我想删除列表中重复出现的元素:

one = [['apple','pear','bear'],['apple','drawers','bear','grapes']]

我想从列表one中的所有列表中删除“apple”。简而言之,我的目标是从所有嵌套列表中删除一个元素“apple”。

new_one = [['pear','bear'],['drawers','bear','grapes']]

我该怎么做?

4 个答案:

答案 0 :(得分:2)

newList = [[element for element in sublist if element != "apple"] for sublist in one]

答案 1 :(得分:0)

这个怎么样:

[ a, b ] = one
return [ [ x for x in a if x not in b ], [ x for x in b if x not in a ] ]

答案 2 :(得分:0)

你也可以试试这个:

for(var x=0;x<one.length;x++) {
  one[x].splice(one[x].indexOf('apple'), 1);
}

答案 3 :(得分:0)

one = [['apple','pear','bear'],['apple','drawers','bear','grapes']]
new_one = [element.remove('apple') for element in one]
# new_one = [['pear','bear'],['drawers','bear','grapes']]

如果列表列表中的任何给定列表仅包含“apple”一次,则此方法有效。如果它出现多次,它只会删除第一个'apple'。

  

我想从列表中的所有列表中删除“apple”。简而言之,我的目标是从所有嵌套列表中删除一个元素“apple”。

one = [['apple','pear','bear'],['apple','drawers','bear','grapes', 'apple']]
new_one = [element.remove('apple') for element in one]
# new_one = [['pear','bear'],['drawers','bear','grapes', 'apple']]