Entferne alle Elemente aus einer Liste nach einem bestimmten Wert

7

Gegeben eine Liste l1 = ['apple', 'pear', 'grapes, 'banana']

Wie kann ich alle Elemente nach 'pear'

entfernen?     
ustroetz 27.01.2015, 11:43
quelle

6 Antworten

9

Verwenden Sie die Listenschnittmethode

%Vor%

Bei der Ausnahmebehandlung, wenn das Element in der Liste nicht vorhanden ist.

%Vor%

wenn Element in der Liste vorhanden ist

%Vor%     
Vivek Sable 27.01.2015, 11:46
quelle
5
%Vor%

Ausgabe:

  
    

['Apfel', 'Birne']

  
    
Hubert Grzeskowiak 27.01.2015 11:50
quelle
5

Sie können eine benutzerdefinierte Generatorfunktion erstellen, die auf allen iterierbaren, nicht nur auf Listen funktioniert - obwohl für Ihr Beispiel list.index , Ausnahmenbehandlung und Slicing in Ordnung ist ...

%Vor%     
Jon Clements 27.01.2015 12:47
quelle
2

Nun, ich war interessiert, wie schnell jede Lösung ist. Hier ist der Code und die Schätzungen:

%Vor%

Ausgabe:

%Vor%     
Anton Zuenko 27.01.2015 14:05
quelle
0
%Vor%

Es wäre ideal, es zu einer Funktion zu abstrahieren, für Modularität und Wiederverwendung.

%Vor%     
AutonomouSystem 27.01.2015 12:56
quelle
0

Es gibt eine dropwhile in itertools , die Sie verwenden können, um die Elemente zu filtern, die nach Ihrer Wahl kommen, und dann können Sie minus nehmen, beide erhalten Sie, was Sie wollen:

%Vor%

Es wird o / p mögen:

%Vor%     
Vikas Damodar 23.03.2018 12:46
quelle

Tags und Links