博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 依据对象某一属性去重
阅读量:4297 次
发布时间:2019-05-27

本文共 591 字,大约阅读时间需要 1 分钟。

前言

python3 下,利用 reduce 函数实现。

需求如下

对于如下对象列表:

[    {
'name':'black','foo':123}, {
'name':'black','foo':456}, {
'name':'white','foo':789},]

期望得到:

[    {
'name':'black','foo':123}, # 或保留 {'name':'black','foo':456},这不重要 {
'name':'white','foo':789},]

Show Me The Code

当时思索了一通,实现压缩到最简,如下:

a = [    {
'name':'black','foo':123}, {
'name':'black','foo':456}, {
'name':'white','foo':789}]result = reduce(lambda y,x:y if (x['name'] in [i['name'] for i in y]) else (lambda z,u:(z.append(u),z))(y,x)[1],a,[])

此外

reduce 函数在 functools 模块中:

from functools import reduce

转载地址:http://zqbws.baihongyu.com/

你可能感兴趣的文章
海龟交易法则14_掌控心魔
查看>>
海龟交易法则15_万事俱备
查看>>
海龟交易法则16_附原版海龟交易法则
查看>>
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>
通向财务自由之路02_成功的决定因素:你
查看>>
中低频量化交易策略研发01_引言
查看>>
中低频量化交易策略研发06_推进的择时策略
查看>>
史丹·温斯坦称傲牛熊市的秘密
查看>>
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>