2017-03-07 119 views
-5

我有一個名單列表,我想整個名單上刪除重複出現的元素:如何刪除列表中的列表中的元素?

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

我想從所有的列表清單one內刪除「蘋果」。簡而言之,我的目標是從所有嵌套列表中刪除一個元素「apple」。

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

我該怎麼做?

+3

爲什麼只有'apple',爲什麼不'bear'呢?任何特定的邏輯在這裏.. –

+0

添加到mu的問題:如果一個元素在同一列表中出現兩次會怎麼樣? – timgeb

+0

你知道如何從**清單中刪除一些**嗎?如果是這樣,只需使用一個循環來重複該操作。 –

回答

2
newList = [[element for element in sublist if element != "apple"] for sublist in one] 
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 ] ] 
0

你也可以試試這個:

for(var x=0;x<one.length;x++) { 
    one[x].splice(one[x].indexOf('apple'), 1); 
} 
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」。

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']]