list根据某个字段去重并排序
时间: 2023-06-05 19:47:38 浏览: 517
List对象去重和按照某个字段排序的实现方法
首先,要对list中的元素进行去重,可以使用set()函数来实现。set()函数可以将list中的元素转化为集合,自动去重并返回一个新的无序集合。如果需要按照某个字段进行去重,可以使用lambda表达式来指定关键字。
例如,有一个包含若干字典的list,每个字典都有一个"name"字段,我们希望按照"name"这个字段进行去重和排序,可以使用下面的代码实现:
```python
records = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 28},
{"name": "Charlie", "age": 23},
{"name": "Alice", "age": 30},
{"name": "David", "age": 27},
{"name": "Bob", "age": 29},
]
unique_records = sorted(set(records), key=lambda x: x["name"])
```
上面的代码中,使用set(records)将list转换为集合,实现去重;使用sorted()函数将集合中的元素按照"name"字段排序,实现排序操作。在lambda表达式中使用x["name"]指定按照"name"字段排序。
最终得到的unique_records就是去重并按照"name"字段排序后的list。
阅读全文