带有对象列表的Python min函数

发布于 2021-01-29 17:13:55

如何使用函数的key参数min来比较对象的1属性列表?

class SpecialNumber:
    def __init__(self, i):
        self.number = i

li = [SpecialNumber(1), SpecialNumber(3), SpecialNumber(2)]
关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    http://docs.python.org/library/operator.html#operator.attrgetter

    from operator import attrgetter
    min_num = min(li,key=attrgetter('number'))
    

    互动会话示例:

    >>> li = [SpecialNumber(1), SpecialNumber(3), SpecialNumber(2)]
    >>> [i.number for i in li]
    [1, 3, 2]
    >>> min_num = min(li,key=attrgetter('number'))
    >>> print min_num.number
    1
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看