python去重,一个由dict组成的list的去重示例
作者:asd991936157 时间:2023-09-26 03:54:44
背景:有一个list,里面的每一个元素都是dict,根据某一个key进行去重,在这里,key代表question
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# created by fhqplzj on 2017/12/07 上午11:38
from itertools import groupby
from operator import itemgetter
import pandas as pd
def distinct(items):
questions = map(itemgetter('question'), items)
df = pd.DataFrame({
'items': items,
'questions': questions
})
return df.drop_duplicates(['questions'])['items'].tolist()
def distinct2(items):
exist_questions = set()
result = []
for item in items:
question = item['question']
if question not in exist_questions:
exist_questions.add(question)
result.append(item)
return result
def distinct3(items):
key = itemgetter('question')
items = sorted(items, key=key)
return [next(v) for _, v in groupby(items, key=key)]
def distinct4(items):
from itertools import compress
mask = (~pd.Series(map(itemgetter('question'), items)).duplicated()).tolist()
return list(compress(items, mask))
if __name__ == '__main__':
data = [
{'question': 'a', 'ans': 'b'},
{'question': 'b', 'ans': 'd'},
{'question': 'a', 'ans': 'p'},
{'question': 'b', 'ans': 'e'}
]
print distinct4(data)
来源:https://blog.csdn.net/ASD991936157/article/details/78740610
标签:python,dict,list,去重
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python实现栈的方法详解【基于数组和单链表两种方法】
2022-06-05 19:03:47
![](https://img.aspxhome.com/file/2023/1/114771_0s.png)
Python 获取windows桌面路径的5种方法小结
2023-04-01 09:06:47
asp fso创建与删除文件与文件夹
2008-12-31 16:07:00
Python xmltodict模块安装及代码实例
2023-05-27 09:25:43
django 解决manage.py migrate无效的问题
2021-08-18 02:28:51
Mysql事务中Update是否会锁表?
2024-01-14 19:11:33
python3实现Dijkstra算法最短路径的实现
2023-10-14 13:17:40
![](https://img.aspxhome.com/file/2023/2/130662_0s.png)
微软建议的ASP性能优化28条守则(6)
2008-02-29 11:43:00
C# Oracle数据库操作类实例详解
2024-01-19 07:21:29
Go中的应用配置管理详解
2023-06-21 00:40:55
关于爬虫和反爬虫的简略方案分享
2022-08-01 09:54:53
python 多进程通信模块的简单实现
2021-06-13 08:21:32
如何HttpServletRequest文件对象并储存
2024-04-19 10:14:12
详解Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题
2024-01-16 16:48:19
python 机器学习的标准化、归一化、正则化、离散化和白化
2023-12-15 11:50:03
php中使用key,value,current,next和prev函数遍历数组的方法
2023-10-18 20:17:39
Python机器学习NLP自然语言处理Word2vec电影影评建模
2022-09-07 09:40:35
![](https://img.aspxhome.com/file/2023/5/112515_0s.gif)
基于Pygame中Pygame模块的大战外星人实战
2022-08-30 09:22:28
![](https://img.aspxhome.com/file/2023/5/123555_0s.jpg)
Python中偏函数用法示例
2022-10-13 18:48:26
Python xlwt工具使用详解,生成excel栏位宽度可自适应内容长度
2024-01-03 20:20:20
![](https://img.aspxhome.com/file/2023/0/133560_0s.jpg)