Manchmal haben wir beim Arbeiten mit Datensätzen ein Problem, bei dem wir alle Tupel von Elementen für einen bestimmten Wert an einer bestimmten K-ten Tupelposition finden müssen. Dies scheint ein besonderes Problem zu sein, aber während wir mit vielen Schlüsseln in Datensätzen arbeiten, stoßen wir auf dieses Problem. Lassen Sie uns bestimmte Möglichkeiten diskutieren, wie dieses Problem gelöst werden kann.

Methode 1: Verwenden der Schleife
Dies ist die Brute-Force-Methode, mit der dieses Problem gelöst werden kann. In diesem Fall führen wir eine Überprüfung durch und fügen eine Liste hinzu, wenn wir einen bestimmten Datensatz an der K-ten Position im Tupel finden.

  
test_list = [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] 
  
print("The original list is : " + str(test_list)) 
  
ele = 3
  
K = 1
  
res = [] 
for x, y, z in test_list: 
    if y == ele: 
        res.append((x, y, z)) 
  
print("The tuples of element at Kth position : " + str(res)) 
Ausgabe :
Die ursprüngliche Liste lautet: [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)]
Die Tupel des Elements an der K-ten Position: [(1, 3, 6), (6, 3, 0)]

 

Methode 2: Verwenden des enumerate()+ Listenverständnisses
Die Kombination der oben genannten Funktionen kann verwendet werden, um dieses Problem zu lösen. In diesem Fall werden die Indizes mit enumerate() aufgelistet. Der Rest wird wie in der obigen Methode ausgeführt, jedoch auf kompakte Weise.



  
test_list = [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] 
  
print("The original list is : " + str(test_list)) 
  
ele = 3
  
K = 1
  
res = [b for a, b in enumerate(test_list) if b[K] == ele] 
  
print("The tuples of element at Kth position : " + str(res)) 
Ausgabe :
Die ursprüngliche Liste lautet: [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)]
Die Tupel des Elements an der K-ten Position: [(1, 3, 6), (6, 3, 0)]