2017-03-07 17 views
-5

私は、リスト内のリストを持っていると私は、リスト全体で再発の要素を削除する:リスト内のリスト内の要素を削除するにはどうすればよいですか?

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

私はリストone内のリストの全てから「りんご」を削除します。簡単に言えば、私の目標は、すべてのネストされたリストから1つの要素「リンゴ」を削除することです。

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

どうすればいいですか?

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

理由だけ 'apple'、そしてなぜ' bear'にも?ここにある特定のロジック。 –

+0

muの質問に追加:要素が同じリストに2回出現するとどうなりますか? – timgeb

+0

あなたは**リストから何かを削除する方法を知っていますか?その場合は、ループを使用してアクションを繰り返すだけです。 –

答えて

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

一度。複数回表示される場合は、最初の「リンゴ」のみが削除されます。

リスト内のすべてのリストから「apple」を削除します。簡単に言えば、私の目標は、すべてのネストされたリストから1つの要素「リンゴ」を削除することです。

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

ます。また、この試すことができます:リストのリスト内の任意のリストはONLY 'リンゴ' を含む場合

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

をこの作品、これについてどのように

関連する問題