Skip to main content
 首页 » 编程设计

python之仅将唯一对象插入列表

2025年05月04日16qq78292959

我有人的查询集:

people = Person.objects.all() 

我有一个列表 un_people = [] - 意思是具有唯一名称的人的列表。

所以,同名的人可以不止一个。我想对此进行过滤,然后插入到列表中,以便该列表仅包含具有唯一名称的人员对象。

我试过:

for person in people:  
   if person.name in un_people: 
      #... ?  

但在列表中,有对象,而不是名称。如何检查具有相同名称的对象然后插入到列表中?

请您参考如下方法:

使用dict做唯一性,然后取值,eg:

uniq_names = {person.name:person for person in people} 
uniq_people = uniq_names.values() # use list(unique_names.values()) for Py 3.x