Python: encuentre registros k mínimos de la lista de tuplas

A veces, mientras trabajamos con datos, podemos tener un problema en el que tenemos registros y necesitamos encontrar las puntuaciones K más bajas 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 e imprimimos los elementos K más bajos usando el corte de lista.

# Python3 code to demonstrate working of
# Minimum K records
# Using sorted() + lambda
  
# Initializing list 
test_list = [('Manjeet', 10), ('Akshat', 4), ('Akash', 2), ('Nikhil', 8)]
  
# Initializing K
K = 2
  
# printing original list
print("The original list is : " + str(test_list))
  
# Minimum K records
# Using sorted() + lambda
res = sorted(test_list, key = lambda x: x[1])[:K]
  
# printing result
print("The lowest K records are : " + str(res))
Producción :

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

Método #2: Usarsorted() + itemgetter()
La combinación de las funciones anteriores también se puede usar para realizar esta tarea en particular. En esto, la tarea realizada por la función lambda es realizada por itemgetter() y se usa para obtener el índice en tupla que debe incluirse en los cálculos.

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

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

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 *