Python - доступ ко всем атрибутам в словаре - PullRequest
0 голосов
/ 11 марта 2020

Я хотел бы получить доступ к атрибуту объектов в словаре, чтобы найти объект с максимальным значением по этому аргументу. Например, у меня есть это:

class MyClass:
    def __init__(self,name,value):
        self.name=name
        self.value=value


Dict=dict()

object_1 = MyClass("object_1",1)
Dict[object_1.name]=object_1

object_2 = MyClass("object_2",5)
Dict[object_2.name]=object_2

, и я хотел бы сделать что-то вроде:

max(dict.value)

Но я не могу понять, как получить доступ к атрибуту всего объекта. Не могли бы вы мне помочь?

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Простой генератор, подключенный к функции max

max(obj.value for obj in Dict.values())
0 голосов
/ 11 марта 2020

Если вам нужно только максимальное значение:

maxval = max(x.value for x in Dict.values())

Если вам нужен ключ (имя) этого объекта:

name = max(Dict.keys(), key=lambda x: Dict[x.value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...