Python | Obtener los N elementos principales de los registros

A veces, mientras trabajamos con datos, podemos tener un problema en el que tenemos registros y necesitamos encontrar las puntuaciones N más altas a partir de ellos. Este tipo de aplicación es popular en el dominio del desarrollo web. Analicemos ciertas formas en que se puede resolver este problema.

Método #1: Usar sorted()+ lambda
La combinación de la funcionalidad anterior se puede usar para realizar esta tarea en particular. En esto, solo empleamos la función ordenada con el indicador inverso verdadero e imprimimos los N elementos principales usando el corte de lista.

# Python3 code to demonstrate working of
# Get Top N elements from Records
# Using sorted() + lambda
  
# Initializing list 
test_list = [('Manjeet', 10), ('Akshat', 4), ('Akash', 2), ('Nikhil', 8)]
  
# Initializing N 
N = 2
  
# printing original list
print("The original list is : " + str(test_list))
  
# Get Top N elements from Records
# Using sorted() + lambda
res = sorted(test_list, key = lambda x: x[1], reverse = True)[:N]
  
# printing result
print("The top N records are : " + str(res))
Producción :

The original list is : [('Manjeet', 10), ('Akshat', 4), ('Akash', 2), ('Nikhil', 8)]
The top N records are : [('Manjeet', 10), ('Nikhil', 8)]

Method #2 : Using sorted() + itemgetter()
La combinación de las funciones anteriores también se puede utilizar para realizar esta tarea en particular. En esto, la tarea realizada por la función lambda se utiliza itemgetter()para obtener el índice en tupla que debe incluirse en los cálculos.

# Python3 code to demonstrate working of
# Get Top N elements from Records
# Using sorted() + itemgetter()
from operator import itemgetter
  
# Initializing list 
test_list = [('Manjeet', 10), ('Akshat', 4), ('Akash', 2), ('Nikhil', 8)]
  
# Initializing N 
N = 2
  
# printing original list
print("The original list is : " + str(test_list))
  
# Get Top N elements from Records
# Using sorted() + itemgetter()
res = sorted(test_list, key = itemgetter(1), reverse = True)[:N]
  
# printing result
print("The top N records are : " + str(res))
Producción :

The original list is : [('Manjeet', 10), ('Akshat', 4), ('Akash', 2), ('Nikhil', 8)]
The top N records are : [('Manjeet', 10), ('Nikhil', 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *