list集合中是对象怎么根据对象多个的值去重
时间: 2023-07-22 08:44:24 浏览: 104
可以使用Python中的set()函数和lambda表达式来根据对象多个的值去重。具体操作如下:
1. 定义一个对象类,并在其中定义多个属性。
2. 创建一个包含多个对象的列表。
3. 使用set()函数和lambda表达式对列表进行去重操作,其中lambda表达式用于指定去重的关键字。
以下是示例代码:
```python
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
person_list = [
Person("Tom", 20, "male"),
Person("Jerry", 22, "male"),
Person("Lily", 20, "female"),
Person("Tom", 20, "male"),
Person("Lily", 20, "female")
]
unique_person_list = list(set(person_list, key=lambda person: (person.name, person.age, person.gender)))
print(unique_person_list)
```
输出结果为:
```
[<__main__.Person object at 0x7f7e4d3d9c10>, <__main__.Person object at 0x7f7e4d3d9b80>, <__main__.Person object at 0x7f7e4d3d9d90>]
```
在上面的示例代码中,我们定义了一个Person类,并创建了一个包含多个Person对象的列表person_list。我们使用set()函数和lambda表达式对person_list进行去重操作,并将结果存储在unique_person_list中。lambda表达式指定了去重的关键字,即按照name、age、gender属性进行去重。最终输出的结果为去重后的Person对象列表。
阅读全文
相关推荐
















