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