第一种:

li = [{'a': 1}, {'b': 2}, {'a': 1}]li = [dict(t) for t in set([tuple(d.items()) for d in li])]

结果为:

[{'a': 1}, {'b': 2}]

第一步把 dict 列表转成 tuple 列表,

[tuple(d.items()) for d in li])[(('a', 1),), (('b', 2),), (('a', 1),)]

然后外面加个 set() 去重, 最后把去重后的 tuple set 转成 dict list

第二种:

python 字典中 重复值去除

tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items()) # Python3.xtuple_r_dict(tuple_r_dict(li))

1、lambda 匿名函数,冒号前为参数,个数可以有0个或多个,冒号右边为返回值

lambda [arg1 [, agr2,…argn]] : expression

tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items())

这句表明创建一个匿名函数

  • 输入:_dict
  • 输出:dict(val[::-1] for val in _dict.items())

2、 _dict.items()

dict.items()返回字典的(键,值)元组对的列表
dic={7:'d',9:'s',5:'a'}
print('dic:',dic)
print('dic.items():',dic.items())#输出
#dic: {9: 's', 5: 'a', 7: 'd'}
#dic.items(): dict_items([(9, 's'), (5, 'a'), (7, 'd')])

3、val[::-1]

把元组对顺序对调

(1,'A')[::-1]
=> ('A',1)

[1,2,3,4,5][:4:2] => [1,3] #取列表中的前4个数,步长为2//第一个冒号左右两边代表在这个列表中的截取范围,第二个冒号右边代表截取范围内每2个取一个数

总结:

生成一个匿名函数,函数返回一个字典dict(val[::-1] for val in _dict.items())

_dict.items()先返回原字典的(键,值)元组对列表

val[::-1] for val in _dict.items() 遍历列表,把列表中的每个元组对中两个值位置对调

dict()把列表转变为字典

至此,生成的新字典的键为旧字典的键值,新键值为旧字典的键。利用字典的键唯一性,去除旧字典的重复键值。

再执行一次tuple_r_dict(tuple_r_dict(z)),把键值对再对调回来

python 去除字典列表中的重复字典相关推荐

  1. Python快速找到列表中所有重复的元素

    Python快速找到列表中所有重复的元素:https://blog.csdn.net/sinat_29957455/article/details/103886088 index方法 为了能够找到元素 ...

  2. python去掉字典重复项_从字典列表中删除重复项python

    我正在尝试从下面的列表中删除重复项distinct_cur = [{'rtc': 0, 'vf': 0, 'mtc': 0, 'doc': 'good job', 'foc': 195, 'st': ...

  3. python列表中的字典怎么遍历,如何遍历字典列表中的嵌套字典?

    对Python还是新手,需要一些帮助.我找到了一些在字典列表中迭代的答案,但没有找到在字典列表中嵌套字典的答案.在 以下是字典列表中单个字典的大致结构[{ 'a':'1', 'b':'2', 'c': ...

  4. Python | 程序从列表中删除重复的元素

    Example: 例: Input: list1: [10, 20, 10, 20, 30, 40, 30, 50] Output: List after removing duplicate ele ...

  5. python list去重并删除某些元素_使用Python实现list(列表)中的重复元素删除,例如: X= [1,1,2,a,a,[1,2,3]] 去重后:X= 「1,2,a,[1,2...

    题目要求的实质是列表内部元素的去重,有两种思路:第一种,删除的思路,判断列表中的元素是否出现重复,如果有重复,删除重复出现的元素直到剩下最后一个:第二种,添加的思路,新建空列表,将新列表中不包含.原列 ...

  6. c语言中删除有序数组中重复元素,去除有序列表中的重复元素

    2014-10-27 09:13:00更新 你仔细研究一下我写的 testAsignPoint 和 testAsignPointAgain 函数就会明白为什么你的二级指针无效了. 还是那句话,你要记住 ...

  7. Python 去除序列s中的重复元素

    http://www.cnblogs.com/moinmoin/archive/2011/09/26/python-remove-list-repeat-hash.html 1.在可hash的情况下使 ...

  8. python 字典的值是列表_python实现求和python如何通过列表中字典的值对列表进行排序...

    一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1. sorted_x = sorted(x.iteritems(), key=operator.item ...

  9. python二维数组去重复_python 去除二维数组/二维列表中的重复行方法

    python 去除二维数组/二维列表中的重复行方法 之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? import numpy as np arr = ...

  10. Python编程对列表中字典元素进行排序的方法详解

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python编程对列表中字典元素进行排序的方法.分享给大家供大家参考,具体如下: 内容目录: 问题起源 对列表中的字 ...

最新文章

  1. 122112_1452_Word1
  2. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
  3. 皮一皮:从地理位置分析当年的那件事...
  4. eclipse关闭tomcat服务器热部署
  5. 现在已经到了考虑云计算的时候
  6. Centos编译安装Apache 2.4.6笔记 配置
  7. 在网上找到一个CSS hack列表,记录在这里以分析css的浏览器兼容性
  8. dbms_random.seed
  9. win10文件同步到服务器失败,win10系统同步时间同步失败的解决方法
  10. 【css】谈谈 css 的各种居中——读编写高质量代码有感
  11. 前端必备:FSCapture取色器
  12. 【vue项目实战】Vue工程化项目--猫眼电影移动端(三)
  13. CSS中的四种定位以及top和margin-top的区别
  14. 随机梯度下降(Stochastic gradient descent)
  15. 小程序组件页面刷新问题
  16. 省市县三级联动JS代码
  17. 2022年天梯赛题目记录
  18. 一文搞懂使用Nginx服务器部署前端Web项目
  19. 米饭里加点它,4大病症全没了!一定要告诉家里做饭的TA
  20. Java实现 LeetCode 537 复数乘法(关于数学唯一的水题)

热门文章

  1. python selenium等待特定网页元素加载完毕
  2. 浅谈OWASP TOP 10
  3. c++前置声明的一点总结
  4. 与走在创业路上的学子交流——记网维“海大快点”创业团队
  5. .Net 数据类型转化
  6. 机器学习(5)——决策树(预测隐形眼镜类型)
  7. 所有子模块都要执行的checkstyle检查
  8. C# Tostring() 格式大全
  9. 开发框架:AdminLTE
  10. 为什么源码中很多方法就一行throw new RuntimeException(Stub!)