Bei einer gegebenen Matrix besteht die Aufgabe hier darin, ein Python-Programm zu schreiben, um Zeilen mit einem beliebigen Element aus der benutzerdefinierten Liste zu entfernen und dann das Ergebnis anzuzeigen.

Beispiele:

Eingabe : test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]], check_list = [3, 10, 19, 29, 20 , 15] 
Ausgabe : [[7, 8, 9], [12, 18, 21]] 
Erläuterung : Die Zeile [5, 3, 1] enthält 3 in der benutzerdefinierten Liste und wird daher weggelassen.

Eingabe : test_list = [[5, 3, 1], [7, 8, 19], [1, 10, 22], [12, 18, 20]], check_list = [3, 10, 19, 29, 20 , 15] 
Ausgabe : [] 
Erläuterung : Alle Zeilen enthalten Elemente aus der benutzerdefinierten Liste und werden daher weggelassen. 
 

Methode 1: Verwenden von any() und Listenverständnis



In diesem Fall führen wir die Aufgabe aus, nach Elementen aus der benutzerdefinierten Liste zu suchen, um mit any() nach Zeilen zu suchen, und das Listenverständnis wird verwendet, um die Zeile wegzulassen, wenn ein Element aus der benutzerdefinierten Liste in der Zeile gefunden wird.

Beispiel:

test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]] 
  
print("The original list is : " + str(test_list)) 
  
check_list = [3, 10, 19, 29, 20, 15] 
  
res = [row for row in test_list if not any(el in row for el in check_list)] 
  
print("The omitted rows matrix : " + str(res)) 

Ausgabe:

Die ursprüngliche Liste lautet: [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]

Die ausgelassene Zeilenmatrix: [[7, 8, 9], [12, 18, 21]]

Methode 2: Verwenden von filter(), Lambda und any()

Ähnlich wie bei der obigen Methode wird nur der Unterschied zwischen filter() und Lambda-Funktion verwendet, um die Aufgabe des Herausfilterns oder Weglassens von Zeilen aus der Matrix aus dem Ergebnis auszuführen.

Beispiel:

test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]] 
  
print("The original list is : " + str(test_list)) 
  
check_list = [3, 10, 19, 29, 20, 15] 
  
res = list(filter(lambda row: not any( 
    el in row for el in check_list), test_list)) 
  
print("The omitted rows matrix : " + str(res)) 

 Ausgabe:

Die ursprüngliche Liste lautet: [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]

Die ausgelassene Zeilenmatrix: [[7, 8, 9], [12, 18, 21]]