List of objects with a unique attribute

前端 未结 2 1061
挽巷
挽巷 2021-01-17 09:43

I have a list of objects that each have a specific attribute. That attribute is not unique, and I would like to end up with a list of the objects that is a subset of the en

2条回答
  •  一向
    一向 (楼主)
    2021-01-17 10:26

    You can use a list comprehension and set:

    objects = (object1,object2,object3,object4)
    seen = set()
    unique = [obj for obj in objects if obj.thing not in seen and not seen.add(obj.thing)]
    

    The above code is equivalent to:

    seen = set()
    unique = []
    for obj in objects:
        if obj.thing not in seen:
            unique.append(obj)
            seen.add(obj.thing)
    

提交回复
热议问题