2017-03-07 1 views
-5

Ich habe die Liste in einer Liste und ich möchte über die Listen reoccurring Element entfernen:Wie kann ich Elemente in der Liste in einer Liste entfernen?

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

Ich mag one aus allen Listen in der Liste ‚Apfel‘ entfernen. Einfach gesagt, mein Ziel ist es, ein Element "Apfel" aus allen verschachtelten Listen zu entfernen.

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

Wie kann ich das tun?

+3

warum nur 'apple', und warum nicht' bear' auch? Irgendeine bestimmte Logik hier. –

+0

Hinzufügen zur Frage von mu: Was, wenn ein Element zweimal in derselben Liste erscheint? – timgeb

+0

Wissen Sie, wie man etwas von ** einem ** der Listen entfernt? Wenn dies der Fall ist, verwenden Sie einfach eine Schleife, um die Aktion zu wiederholen. –

Antwort

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

Wie wäre es damit:

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

Sie auch versuchen, diese können einmal. Wenn es mehrmals erscheint, entfernt es nur den ersten "Apfel".

Ich möchte 'Apfel' aus allen Listen in der Liste eins entfernen. Einfach gesagt, mein Ziel ist es, ein Element "Apfel" aus allen verschachtelten Listen zu entfernen.

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
one = [['apple','pear','bear'],['apple','drawers','bear','grapes']] 
new_one = [element.remove('apple') for element in one] 
# new_one = [['pear','bear'],['drawers','bear','grapes']] 

innerhalb der Liste der Listen enthält 'Apfel' Dies funktioniert, wenn eine gegebene Liste NUR:

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