如何从python对象列表中获取唯一值

How to get unique values from a python list of objects

我有一堂课:

1
2
3
4
class Car:
    make
    model
    year

我有一个汽车清单,想在我的汽车中得到一个独特的车型清单。

这个列表可能有上万个项目。最好的方法是什么?

谢谢。


理解,理解Sets are unordered collections of one elements,meaning that any doplicates will removed.

1
2
3
cars = [...] # A list of Car objects.

models = {car.model for car in cars}

这将在您的列表上重复,并将每一个EDOCX1增加到最多一次,这意味着它将是一个独特的收藏。


如果你想找到只出现过一次的车

ZZU1


现在这取决于你的独特含义。如果你准确地表达了同样的目标,那么这就应该:

1
2
3
4
5
6
def check_all_objects_unique(objects: List[Any]) -> bool:
unique_objects = set(objects)
if len(unique_objects) == len(objects):
    return True
elif len(unique_objects) < len(objects):
    return False

如果你只代表同样的属性值的对象,其他答案在这里会帮助你。