首页 > 其他分享 >针对列表中的字典去重

针对列表中的字典去重

时间:2024-04-12 15:33:05浏览次数:16  
标签:针对 name age list 列表 unique id 字典

背景:

我有一个列表,列表中存储的子元素是字典,字典中存在多个键值对,其中id是绝对不相同的,但其他键值对可能和另外的子元素重复,现在要去除重复的子元素

# 原始列表
original_list = [
    {"id": 1, "name": "Alice", "age": 20},
    {"id": 2, "name": "Bob", "age": 25},
    {"id": 3, "name": "Alice", "age": 30},
    {"id": 4, "name": "Carol", "age": 35},
    {"id": 5, "name": "Bob", "age": 25},
]

# 辅助集合
seen = set()

# 存储不重复子元素的列表
unique_list = []

# 遍历原始列表
for item in original_list:
    # 创建子元素的唯一标识,不包含id
    unique_id = frozenset(item.items()) - frozenset([("id", item["id"])])
    
    # 如果唯一标识不在辅助集合中,表示非id部分是首次出现
    if unique_id not in seen:
        # 将唯一标识加入辅助集合中,用于判断后续是否重复出现
        seen.add(unique_id)
        
        # 将不重复的子元素添加到结果列表中
        unique_list.append(item)

# 打印结果
print(unique_list)

标签:针对,name,age,list,列表,unique,id,字典
From: https://www.cnblogs.com/vetra/p/18131408

相关文章

  • 【SQL】mysql函数列表
    MySQL提供了大量的内置函数,用于处理各种数据类型和执行特定的操作。以下是一些主要的MySQL函数类别和其中的一些函数示例:数学函数ABS(x):返回x的绝对值。CEIL(x) 或 CEILING(x):返回大于或等于x的最小整数。FLOOR(x):返回小于或等于x的最大整数。ROUND(x,d):......
  • NOI2024模拟赛列表
    NOI2024模拟赛#1CF862FMahmoudandEhabandthefinalstageCF830EPerpetualMotionMachineCF1750GDopingNOI2024模拟赛#2CF1810HLastNumberCF1535FStringDistanceCF1119FNiyazandSmallDegreesNOI2024模拟赛#3CF933EAPreponderantReunionCF1801EGas......
  • H5_新增的列表标签
    标签名语义单/双标签datalist用于搜索框的关键字提示双datalis用于展示问题和答案,或对专有名词进行解释双summary写在details的里面,用于指定问题或专有名词双datalist案例<formaction="#"><inputtype="text"list="mydata"><bu......
  • 利用列表编写一个发红包程序,要求输入红包金额money,红包个数n,显示由每个红包的金额所构
    声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。【第7次课]实验五组合数据类型(一)4.简答题利用列表编写一个发红包程序,要求输入红包金额money,红包个数n,显示由每个红包的金额所构成的列表。程序运行输出格式参考下图:[提示](1)可以使用random......
  • python基础-数据类型、字典、集合、文件操作(打开、关闭、读写、追加等)
    前言!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:​​2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战​数据结构数据类型字符串列表元组集合字典整型布尔None浮点型字节类......
  • 自定义Python实用函数-返回指定目录及其子目录和指定文件扩展名的文件清单列表
    importosdefget_files(file_path,image_types_set=()):"""返回指定目录及其子目录下、指定文件扩展名的文件清单列表。若image_types_set参数为空,则返回图片文件清单列表。若image_types_set参数为['.*'],则返回所有文件清单列表。"""filenames......
  • 展开嵌套列表
    模拟数据data=[[1,2,6],[4],[5,8,7],[11,9],[10]]#模拟数据方式1:for循环fromcollections.abcimportIterablesum_data=[]foriindata:ifisinstance(i,Iterable):#如果可迭代(比如列表形式)forjini:#再次循环追加元素s......
  • 安防视频监控/视频集中存储EasyCVR平台开启鉴权后设备列表不展示是为什么?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能AI分析接入等功......
  • css学习笔记之展开列表图标动画
    “蓝色界面”风格的填充的星图标欢迎下载填充的星矢量图标,“蓝色界面”风格。格式有png、svg、pdf、html代码。可对填充的星图标、符号进行修改、调整大小、修改颜色。https://igoutu.cn/icon/y0OTcruih2CY/%E5%A1%AB%E5%85%85%E7%9A%84%E6%98%9F今天在这个网站看到了上面类似......
  • Python基础--python数据结构(字符串、列表和元组)
    前言!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战数据结构1.字符串类型str1.1定义上个文件找1.2独有功能大写upper......