背景:有一个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)
以上这篇python去重,一个由dict组成的list的去重示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
主要内容:函数格式,实际应用“去重”通过字面意思不难理解,就是删除重复的数据。在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程。删除重复数据是数据分析中经常会遇到的一个问题。通过数据去重,不仅可以节省内存空间,提高写入性能,还可以提升数据集的精确度,使得数据集不受重复数据的影响。 Panda DataFrame 对象提供了一个数据去重的函数 drop_duplicates(
本文向大家介绍Python numpy 点数组去重的实例,包括了Python numpy 点数组去重的实例的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码,有详细注释 以上这篇Python numpy 点数组去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍python列表list保留顺序去重的实例,包括了python列表list保留顺序去重的实例的使用技巧和注意事项,需要的朋友参考一下 常规通过迭代或set方法,都无法保证去重后的顺序问题 如下,我们可以通过列表的索引功能,对set结果进行序列化 以上这篇python列表list保留顺序去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍JS实现数组去重及数组内对象去重功能示例,包括了JS实现数组去重及数组内对象去重功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组去重及数组内对象去重功能。分享给大家供大家参考,具体如下: 大家在写项目的时候一定遇到过这种逻辑需求,就是给一个数组进行去重处理,还有一种就是给数组内的对象根据某一个属性,比如id,进行去重,下面我写了两个函数,都是可以达到这个效
返回数组的所有不同值。 使用 ES6 的 Set 和 ...rest 操作符剔除重复的值。 const distinctValuesOfArray = arr => [...new Set(arr)]; distinctValuesOfArray([1, 2, 2, 3, 4, 4, 5]); // [1,2,3,4,5]
本文向大家介绍JS实现数组去重,显示重复元素及个数的方法示例,包括了JS实现数组去重,显示重复元素及个数的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组去重,显示重复元素及个数的方法。分享给大家供大家参考,具体如下: 使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得如