python去重,一个由dict组成的list的去重示例
2019-01-21 12:02
696 查看
背景:有一个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的去重示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- python去重,一个由dict组成的list的去重
- Python - 两个列表(list)组成字典(dict)
- Python - 利用zip函数将两个列表(list)组成字典(dict)
- Python - 两个列表(list)组成字典(dict)
- python list转dict示例分享
- python利用defaultdict、enumerate将列表中相同名字对应的索引值index放到一起,组成列表,最后整体放到一个列表中
- Python - 两个列表(list)组成字典(dict)
- python基础===两个list合并成一个dict的方法
- Python - 两个列表(list)组成字典(dict)
- python list转dict示例分享
- Python中list、tuple、dict、set总结
- Python3基础 list []定义一个整数列表
- Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
- Python的list、tuple、dict、set
- Python的dict一个诡异的问题
- python的dict,set,list,tuple应用详解
- python 基本类型list、tuple、dict学习
- Python基础知识- list ,tuple ,dict 和 set
- Python标准库defaultdict模块使用示例
- python list与dict