| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python 关于“列表去重”的几点小技巧 -> 正文阅读 |
|
[Python知识库]Python 关于“列表去重”的几点小技巧 |
1. 最常见的去重方法是:先转集合再转回列表 1)set()函数
缺点:返回结果的元素顺序与原列表不一致 可以用.sort() 或 sorted()排序,改正到原列表顺序
2) 字典内置方法 dict.fromkeys(),不用额外再排序
3)前两种方法的共同缺点:当源列表包括 unhashable 类型元素时都无法工作
2. 直接删除del重复元素,遍历源列表用.count(n)计数,>1即有重复
或者如下从尾部向前删就不用另外排序:
3. 列表list.remove()方法
4. 新建空列表,通过遍历源列表,只添加新列表中没有的元素:
5. functools.reduce()方法
6.?itertools.groupby()方法,也不适合有unhashable类型元素的列表
注:groupby()分组时,同值元素相邻才会分在同组,所以要先排序sorted() groupby()方法拓展:先建一个源列表元素出现次数的字典,再根据字典来删重复元素
注:有点多此一举,因为同款字典这样写更方便:{i:nums.count(i) for i in nums} 总结: 在不包含unhashable类型元素的情况下,列表去重用 dict.fromkeys() 最优; 否则用第4种方法,即空列表只追加“新”元素的办法。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 15:11:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |