Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过与“其他对象”属性进行比较,在对象列表中查找对象_Python_List_Object_Compare - Fatal编程技术网

Python 通过与“其他对象”属性进行比较,在对象列表中查找对象

Python 通过与“其他对象”属性进行比较,在对象列表中查找对象,python,list,object,compare,Python,List,Object,Compare,我想通过比较对象与对象的特定属性,在对象列表中找到一个对象 my_list = [obj("low",1), obj("mid",5), obj("high",10)] 要求将这些对象与优先级值(即1、5和10)进行比较,并返回对象 我尝试遍历列表,并根据优先级属性将每个对象与下一个对象进行比较。但是我在比较列表中的对象时出错 有人能帮我解决吗 class Obj(object): def __init__(self, title, priority): self.ti

我想通过比较对象与对象的特定属性,在对象列表中找到一个对象

my_list = [obj("low",1), obj("mid",5), obj("high",10)]
要求将这些对象与优先级值(即1、5和10)进行比较,并返回对象

我尝试遍历列表,并根据优先级属性将每个对象与下一个对象进行比较。但是我在比较列表中的对象时出错

有人能帮我解决吗

class Obj(object):
    def __init__(self, title, priority):
        self.title=title
        self.priority=priority

    def __repr__(self):
        return "Obj(%r, %r)" % (self.title, self.priority)

my_list = [Obj("low", 1), Obj("mid", 5), Obj("high", 10)]
我不确定你到底想做什么,但是为了得到最高和最低优先级的物品,你可以这样做

>>> max(my_list, key=lambda obj: obj.priority)
Out[1]: Obj('high', 10)
>>> min(my_list, key=lambda obj: obj.priority)
Out[2]: Obj('low', 1)
还可以过滤列表,并基于对象的属性创建新列表

>>> [obj for obj in my_list if obj.priority > 3]
Out[3]: [Obj('mid', 5), Obj('high', 10)]

你能告诉我们你得到的代码和异常吗?顺便说一句,现在还不清楚你到底想实现什么。代码会有帮助。特别不清楚的是:“要求将这些对象与优先级值(即1、5和10)进行比较,然后返回对象。”你说的返回对象是什么意思?返回具有最高值的对象?返回已排序的对象列表?很抱歉发布了不明确的查询。我的要求是从动态对象列表中获取具有最高优先级值的对象。因此,通过将每个对象与其余对象进行比较来找到正确的答案。
max
行是否回答了您的问题@用户964566