列表去重在python实际运用中,十分常见,也是最基础的重点知识。
以下总结了5种常见的列表去重方法
一、使用for循环实现列表去重
此方法去重后,原顺序保持不变。

# for循环实现列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = []
for l1 in list1:if l1 not in list2:list2.append(l1)
print(list2)

结果:[‘a’, ‘b’, 1, 3, 9]

二、使用列表推导式去重
此方法去重后,原顺序保持不变。

# 使用列表推导式去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
res = []
[res.append(i) for i in list1 if i not in res]
print(res)

结果:[‘a’, ‘b’, 1, 3, 9]

三、使用集合转换函数set()实现列表去重
原理:同一个集合的元素之间是不允许重复的

# set()列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = list(set(list1))
print(list2)

结果:[1, 3, 9, ‘b’, ‘a’]
问题:使用set()函数去重后,会自动排序,则原列表的顺序会发生改变
解决办法有2种:
第一种方法,使用sort()方法

# # 第一种方法,sort()
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = list(set(list1))
list2.sort(key=list1.index)
print(list2)

结果:[‘a’, ‘b’, 1, 3, 9]
注:sort()方法没有返回值,对列表元素进行原地排序
第二种方法,使用sorted()函数

# 第二种方法,sored()
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = sorted(list(set(list1)), key=list1.index)
print(list2)

结果:[‘a’, ‘b’, 1, 3, 9]
注:python内置函数sorted()函数返回新的列表,并不对原列表做任何修改

四、使用新建字典方式实现列表去重
原理:字典的"键"是不允许重复的
此方法去重后,原来顺序保持不变。

# 使用新建字典实现列表去重
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
dic = {}
dic = dic.fromkeys(list1).keys()
print(list(dic))

结果:[‘a’, ‘b’, 1, 3, 9]

五、删除列表中存在重复的数据
上面的4种去重方法,都是保留一个,删除其他
下面这种方法则是,只要存在重复,一个都不保留

# 删除存在重复的值,不保留
list1 = ['a', 'b', 1, 3, 9, 9, 'a']
list2 = [i for i in list1 if list1.count(i) == 1]
print(list2)

结果:[‘b’, 1, 3]

以上就是关于列表去重的5种方法,可以根据需求选择对应的方法。

python列表常见的5种去重方法相关推荐

  1. python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法

    字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...

  2. Python Lambda函数的几种使用方法

    在进行编程时,一般我们会给一个函数或者变量起一个名字,该名称是用于引用或寻址函数变量.但是有一个低调的函数,你不需要赋予它名字,因此该函数也叫匿名函数.该函数就是Python中的Lambda函数,下面 ...

  3. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  4. python list方法说明_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  5. python list find函数_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  6. python课堂实例_享学课堂带你了解并读懂Python列表中的6种操作实例

    原标题:享学课堂带你了解并读懂Python列表中的6种操作实例 今天为大家来介绍一下很多人在享学课堂上学习Python时,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector ...

  7. python安装第三方库-python第三方库的四种安装方法

    讲解一下python第三方库的四种安装方法 问题场景 (我的操作系统windows): 我使用pip install selenium 发现先爆出一大段黄色警告日志,最后是两段红色的错误日志,无法成功 ...

  8. python中常见的几种错误

    python中常见的几种错误: 1.end前面一定加逗号 2.命令输入错误 3.冒号中英文切换 4.命令缩进错误 5.等于号要双等于,否则一个等于号是赋值 6.命令之间正确搭配

  9. 计算机常用的四种加密方法,电脑常见的几种加密方法

    电脑常见的几种加密方法 加密可以用于保证安全性, 但是其它一些技术在保障通信安全方面仍然是必须的,尤其是关于数据完整性和信息验证;例如,信息验证码(MAC)或者数字签名.另一方面的考虑是为了应付流量分 ...

  10. 弱加密算法有哪几种_常见的几种加密方法

    常见的几种加密方法和实 常见的几种加密方法 : MD5 SHA1 RSA AES DES 1.MD5加密 是HASH算法一种. 是生成32位的数字字母混合码. MD5主要特点是 不可逆 MD5算法还具 ...

最新文章

  1. .PHONY makefile中的伪目标
  2. iOS开发UI篇—CALayer简介
  3. 2-django进阶之日志功能(亲测)
  4. 用python的五种方式_Python加载数据的5种不同方式(收藏)
  5. mongodb服务部署
  6. 坎蒂雷赋权法 matlab,干货 | 利用MATLAB实现FMCW雷达中的常用角度估计方法
  7. 安装ssd后不识别网卡_100元体验纯正万兆网络:需要安装SSD的NAS服务器
  8. Vim自动补全神器YouCompleteMe的配置
  9. Fabric chaincode开发调试
  10. POJ 2993 Emag eht htiw Em Pleh(模拟)
  11. 【Spring第六篇】注解:Annotation
  12. STM8S003FP6 TIM4配置
  13. 常用的机器学习算法(使用 Python 和 R 代码)
  14. 云开发:微信小程序开发-组件化开发
  15. [jzoj5791]【NOIP2008模拟】阶乘 (数学)
  16. 新时代城市规划建设需新基建与传统基建携手共同打造
  17. 生成yolo.h5的方法
  18. HTML中怎样把文字分两栏显示,word设置一页分两栏的三种方法
  19. 毕业4年年薪200万,一个CTO的成长之路
  20. 蜂鸟金融终端:零滞后技术指标

热门文章

  1. 计算机测色配色应用,计算机测色及配色.doc
  2. Docker部署应用案例
  3. 网络排查工具MTR介绍
  4. 什么是软件需求,软件需求的分类
  5. photoshop2019及其破解器
  6. Linux下PCIE设备分析软件
  7. 解决cadence导入网编Symbol ‘SOD_123‘ used by RefDes D31 for device ‘XXXXX‘ not found的问题
  8. IPC 38模组板图分析-雄迈IPG-50H10PE-SL-Hi3518E+OV9712
  9. 使用电脑小技巧70个
  10. Axure原型APP设计规范