Python: obtenga el objeto con el valor de atributo máximo en una lista de objetos

Dada una lista de objetos, la tarea es escribir un programa de Python para obtener el objeto con el valor de atributo máximo en una lista de objetos usando Python. 

Esta tarea se puede lograr usando el método max() y el operador attrgetter. Devuelve un objeto invocable que obtiene attr de su operando. Si se solicita más de un atributo, devuelve una tupla de atributos. Los nombres de los atributos también pueden contener puntos.

Sintaxis:

attrgetter(attr)

Para realizar el trabajo, defina una clase y defina un método __init__(). Luego, inicialice las variables de instancia, por ejemplo, salario y experiencia. Ahora, cree varias instancias/Objetos para la clase de geeks y agregue todos los objetos en una lista. Ahora pase la lista de objetos al método max() con key=attribute. El atributo se puede dar usando el operador attrgetter.

El método max() devolverá el objeto con el valor de atributo máximo.

Ejemplo 1: Obtener el objeto con valor de atributo máximo en una lista de objetos

Python3

from operator import attrgetter
  
  
class geeks:
    def __init__(self, experience, salary):
        self.experience = experience
        self.salary = salary
  
  
object1 = geeks(2, 50000)
object2 = geeks(3, 60000)
object3 = geeks(1, 20000)
object4 = geeks(4, 75000)
  
l = [object4, object3, object2, object1]
max_attr = max(l, key=attrgetter('salary'))
print(max_attr.salary)

Producción:

75000

Ejemplo 2: obtenga el objeto con un valor de atributo máximo en una lista de objetos

Python3

from operator import attrgetter
  
  
class geeks:
    def __init__(self, experience, salary):
        self.experience = experience
        self.salary = salary
  
  
object1 = geeks(7, 57050)
object2 = geeks(3, 98000)
object5 = geeks(6, 45000)
object4 = geeks(1, 89000)
object3 = geeks(5, 25000)
  
l = [object4, object3, object5, object2, object1]
max_attr = max(l, key=attrgetter('salary'))
print(max_attr.salary)

Producción:

98000

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan 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 *