新闻中心

python中如何用集合set给列表去重?

2025-11-21
浏览次数:
返回列表
使用set去重会打乱顺序,list(set(lst))适用于无需保序场景;需保序时推荐dict.fromkeys(),可高效保留原始顺序。

python中如何用集合set给列表去重?

在Python中,用集合(set)给列表去重是一个常见且高效的方法。因为集合中的元素是**唯一且无序**的,所以可以利用它自动去除重复项。

基本方法:使用 set() 转换

将列表传入 set() 构造函数,会自动生成一个不含重复元素的集合,然后再转回列表。

示例代码:

original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(original_list))
print(unique_list) # 输出可能是 [1, 2, 3, 4, 5](顺序不保证)

注意:由于集合是无序的,原列表的元素顺序可能被打乱。

保持顺序的去重方法

如果希望去重后保留原始顺序,不能直接用 list(set(...))。可以结合集合记录已出现的元素,遍历原列表实现。

示例代码(保持顺序):

original_list = [1, 2, 2, 3, 4, 4, 5]
seen = set()
unique_list = []
for item in original_list:
    if item not in seen:
        seen.add(item)
        unique_list.append(item)
print(unique_list) # 输出 [1, 2, 3, 4, 5]

这种方法通过 seen 集合快速判断是否已存在,时间复杂度接近 O(n),效率高且保持顺序。

CA.LA CA.LA

第一款时尚产品在线设计平台,服装设计系统

CA.LA 94 查看详情 CA.LA

使用 dict.fromkeys() 的简洁写法(推荐)

Python 3.7+ 中字典保持插入顺序,可以用 dict.fromkeys() 实现一行去重并保留顺序。

示例代码:

original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(original_list))
print(unique_list) # 输出 [1, 2, 3, 4, 5]

这比手动循环更简洁,是目前最常用的保持顺序去重方式。

基本上就这些。如果不需要保持顺序,直接用 list(set(lst)) 最快;需要顺序时,推荐用 dict.fromkeys()

以上就是python中如何用集合set给列表去重?的详细内容,更多请关注其它相关文章!


# 然后再  # 通辽网站优化专业团队  # 营销成本推广占比  # 甘南视频营销推广  # 安康律师网站推广  # 360灰色关键词排名  # 福州网站建设制作软件  # 静态网页技术动态seo  # 海口网络关键词排名  # 如何做好营销推广的策略  # 深圳网站建设知识点优化  # python  # 中文网  # 相关文章  # 适用于  # 遍历  # 可以用  # 不需要  # 是一个  # 命令行  # 如何用  # app 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门  解决Flask中Quill编辑器内容提交失败及TypeError的指南  CSS如何设置hover状态颜色_hover伪类调整背景或文字颜色  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  GemBox Document HTML转PDF垂直文本渲染问题及解决方案  Pandas DataFrame 多条件优先级排序与排名  漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接  抖音怎么赚钱_抖音创作者变现方法与途径指南  如何使用 Excel 发布器与 Power BI 分享 Excel 洞察  《主播少女的秘密账号迷宫》首支宣传片  夸克浏览器网页版最新地址 夸克浏览器官方入口合集  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口  Pyrogram与g4f集成:异步编程实践与常见错误解决  Mudbox图层蒙版怎么用_Mudbox图层蒙版数字雕刻应用技巧  Go语言中的*string:深入理解字符串指针  机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等  QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录  微信群消息显示延迟如何解决 微信群消息刷新优化方法  uc浏览器网页版入口 uc浏览器网页版最新网址  哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  响应式图片在网页设计中的正确实现方法  Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐  Go语言HTML解析:利用Goquery精准获取指定元素内容  Python实时数据流中的动态最值查找策略  MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  谷歌邮箱注册显示错误Gmail服务器异常与延迟处理  Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程  AngularJS $http POST请求数据传递与Go后端接收实践  微博网页版主页入口 微博官方网站免登录访问  千牛数据看板网页版_千牛数据看板网页版访问方法  HTML元素状态管理:根据DIV内容动态启用/禁用按钮  在J*aScript中复现SciPy的B样条拟合与求值:关键考量  如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单  css绝对定位元素脱离父容器怎么办_确保父元素position非static  韩剧圈正版入口页面_韩剧圈官网登录链接  怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】  一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证  汽车之家官方网站官网入口_汽车之家网页版直接进入  Go语言JSON解析深度指南:动态访问与结构体映射实践  在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略  Go语言中动态执行代码字符串的策略与实践  高德地图公交到站提醒失败如何解决 高德提醒权限设置  126邮箱网页版官方入口 126邮箱账号在线登录平台 

搜索