A veces, al tratar con tuplas, podemos tener problemas en los que necesitamos extraer solo elementos K extremos, es decir, elementos K máximos y mínimos en Tuple. Este problema puede tener aplicaciones en dominios como el desarrollo web y la ciencia de datos. Analicemos ciertas formas en que se puede resolver este problema.
Entrada : test_tup = (3, 7, 1, 18, 9), k = 2
Salida : (3, 1, 9, 18)
Entrada : test_tup = (3, 7, 1), k=1
Salida : (1, 3)
Método #1: Usar sorted() + loop
La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, realizamos la operación de clasificación usando sorted(), y el problema de la extracción de elementos K máximos y mínimos usando loop.
Python3
# Python3 code to demonstrate working of # Maximum and Minimum K elements in Tuple # Using sorted() + loop # initializing tuple test_tup = (5, 20, 3, 7, 6, 8) # printing original tuple print("The original tuple is : " + str(test_tup)) # initializing K K = 2 # Maximum and Minimum K elements in Tuple # Using sorted() + loop res = [] test_tup = list(sorted(test_tup)) for idx, val in enumerate(test_tup): if idx < K or idx >= len(test_tup) - K: res.append(val) res = tuple(res) # printing result print("The extracted values : " + str(res))
The original tuple is : (5, 20, 3, 7, 6, 8) The extracted values : (3, 5, 8, 20)
Método n.º 2: usar la división de listas + sorted()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extracción máxima y mínima utilizando la división en lugar de la lógica de bucle de fuerza bruta.
Python3
# Python3 code to demonstrate working of # Maximum and Minimum K elements in Tuple # Using slicing + sorted() # initializing tuple test_tup = (5, 20, 3, 7, 6, 8) # printing original tuple print("The original tuple is : " + str(test_tup)) # initializing K K = 2 # Maximum and Minimum K elements in Tuple # Using slicing + sorted() test_tup = list(test_tup) temp = sorted(test_tup) res = tuple(temp[:K] + temp[-K:]) # printing result print("The extracted values : " + str(res))
The original tuple is : (5, 20, 3, 7, 6, 8) The extracted values : (3, 5, 8, 20)
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA