Während der Arbeit mit Python-Listen kann es manchmal zu Problemen kommen, bei denen wir für jedes Element prüfen müssen, ob das vorhergehende Element kleiner ist. Diese Art von Problem kann in Domänen zur Datenvorverarbeitung verwendet werden. Lassen Sie uns bestimmte Probleme diskutieren, bei denen diese Aufgabe ausgeführt werden kann.

Eingabe : test_list = [1, 3, 5, 6, 8]
Ausgabe : [True, True, True, True]

Eingabe : test_list = [3, 1]
Ausgabe : [False]

Methode 1: Verwenden der Schleife
Dies ist eine der Möglichkeiten, wie diese Aufgabe ausgeführt werden kann. In diesem Fall führen wir die Aufgabe aus, mit brute for in loop nach Elementen zu suchen.

  
test_list = [6, 3, 7, 3, 6, 7, 8, 3
  
print("The original list is : " + str(test_list)) 
  
res = [] 
for idx in range(1, len(test_list)): 
    if test_list[idx - 1] < test_list[idx]: 
        res.append(True) 
    else: 
        res.append(False) 
  
print("List after filtering : " + str(res)) 
Ausgabe :

Die ursprüngliche Liste lautet: [6, 3, 7, 3, 6, 7, 8, 3]
Liste nach dem Filtern: [Falsch, Richtig, Falsch, Richtig, Richtig, Richtig, Falsch]

 

Methode 2: Verwenden des zip() + Listenverständnisses
Dies ist ein einzeiliger Ansatz zur Lösung dieses Problems. In diesem Fall komprimieren wir zuerst die Liste und die nächste Elementliste und suchen dann nach Vergleichen für das Ergebnis.

  
test_list = [6, 3, 7, 3, 6, 7, 8, 3
  
print("The original list is : " + str(test_list)) 
  
res = [int(sub1) < int(sub2) for sub1, sub2 in zip(test_list, test_list[1:])] 
  
print("List after filtering : " + str(res)) 
Ausgabe :
Die ursprüngliche Liste lautet: [6, 3, 7, 3, 6, 7, 8, 3]
Liste nach dem Filtern: [Falsch, Richtig, Falsch, Richtig, Richtig, Richtig, Falsch]