Dada una Lista, extraer K Máximo de elementos con sus índices.
Entrada : test_list = [5, 3, 1, 4, 7, 8, 2], K = 2
Salida : [(4, 7), (5, 8)]
Explicación : 8 es el máximo en el índice 5, 7 en el cuarto .Entrada : test_list = [5, 3, 1, 4, 7, 10, 2], K = 1
Salida : [(5, 10)]
Explicación : 10 es el máximo en el índice 5.
Método #1: Usar sorted() + index()
La combinación de las funciones anteriores proporciona una forma de encontrar una solución a este problema. En esto, inicialmente ordenamos y extraemos K elementos máximos, luego se encapsulan en tupla con su orden en la lista original.
Python3
# Python3 code to demonstrate working of # K Maximum elements with Index in List # Using sorted() + index() # initializing list test_list = [5, 3, 1, 4, 7, 8, 2] # printing original list print("The original list : " + str(test_list)) # initializing K K = 3 # Using sorted() + index() # using sorted() to sort and slice K maximum elements temp = sorted(test_list)[-K:] res = [] for ele in temp: # encapsulating elements with index using index() res.append((test_list.index(ele), ele)) # printing result print("K Maximum with indices : " + str(res))
The original list : [5, 3, 1, 4, 7, 8, 2] K Maximum with indices : [(0, 5), (4, 7), (5, 8)]
Método #2: Usar enumerate() + itemgetter()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, realizamos la tarea de obtener índices usando enumerate() y itemgetter() se usa para obtener los elementos.
Python3
# Python3 code to demonstrate working of # K Maximum elements with Index in List # Using enumerate() + itemgetter() from operator import itemgetter # initializing list test_list = [5, 3, 1, 4, 7, 8, 2] # printing original list print("The original list : " + str(test_list)) # initializing K K = 3 # Using enumerate() + itemgetter() # Making index values pairs at 1st stage res = list(sorted(enumerate(test_list), key = itemgetter(1)))[-K:] # printing result print("K Maximum with indices : " + str(res))
The original list : [5, 3, 1, 4, 7, 8, 2] K Maximum with indices : [(0, 5), (4, 7), (5, 8)]
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