A veces, mientras trabajamos con registros, podemos tener un problema en el que necesitamos encontrar todas las tuplas de elementos para un valor particular en una posición K-ésima particular de la tupla. Este parece ser un problema peculiar, pero al trabajar con muchas claves en los registros, nos encontramos con este problema. Analicemos ciertas formas en que se puede resolver este problema.
Método n.º 1: Uso del bucle
Este es el método de fuerza bruta mediante el cual se puede resolver este problema. En esto, mantenemos una verificación y agregamos a la lista si encontramos un registro específico en la posición K en la tupla.
# Python3 code to demonstrate working of # Records with Value at K index # Using loop # initialize list test_list = [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] # printing original list print("The original list is : " + str(test_list)) # initialize ele ele = 3 # initialize K K = 1 # Records with Value at K index # Using loop # using y for K = 1 res = [] for x, y, z in test_list: if y == ele: res.append((x, y, z)) # printing result print("The tuples of element at Kth position : " + str(res))
The original list is : [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] The tuples of element at Kth position : [(1, 3, 6), (6, 3, 0)]
Método n.º 2: usar enumerate()
la comprensión de listas +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, enumeramos los índices usando enumerate(), el resto se realiza como en el método anterior pero de forma compacta.
# Python3 code to demonstrate working of # Records with Value at K index # Using enumerate() + list comprehension # initialize list test_list = [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] # printing original list print("The original list is : " + str(test_list)) # initialize ele ele = 3 # initialize K K = 1 # Records with Value at K index # Using enumerate() + list comprehension res = [b for a, b in enumerate(test_list) if b[K] == ele] # printing result print("The tuples of element at Kth position : " + str(res))
The original list is : [(3, 1, 5), (1, 3, 6), (2, 5, 7), (5, 2, 8), (6, 3, 0)] The tuples of element at Kth position : [(1, 3, 6), (6, 3, 0)]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA