开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。

下面的代码都在Python3下测试通过, Python2下请自行测试

1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集

list_one = [2,1,3,4,3,5]

# list()方法是把字符串str或元组转成数组

formatList = list(set(list_one))

print (formatList)

结果:[1, 2, 3, 4, 5]

2. 使用keys()方法

list_two = [1,3,5,7,7,5]

#list()方法是把字符串str或元组转成数组

formatList = list({}.fromkeys(list_two).keys())

print (formatList)

结果:[1, 3, 5, 7]

上面两种方法的问题是:结果是没有保持原来的顺序。

3. 循环遍历法

list_three = [1,2,3,3,2,5]

formatList = []

for id in list_three:

if id not in formatList:

formatList.append(id)

print (formatList)

结果:[1, 2, 3, 5]

but,这样的代码不够简洁,不够高端

4. 按照索引再次排序

list_four = [1,7,6,7,6,5,2]

formatList = list(set(list_four))

formatList.sort(key=list_four.index)

print (formatList)

结果:[1, 7, 6, 5, 2]

这些方法有些也是我从网上查找的,那么,Python对列表去重的方法总结到此了哈,大家有什么好的去重方法可以写在评论区,方便大家互相交流。

python对列表进行去重_Python对列表去重的4种方法相关推荐

  1. python怎么建立字典翻译_Python下字典创建的8种方法

    Python下字典创建的几种方法记录 1.创建空字典 >>> info_dict = {} >>> print(type(info_dict)) 2.赋值直接生成 ...

  2. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  3. python如何实现下载文件_python实现下载文件的三种方法

    python实现下载文件的三种方法 Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件. ...

  4. python求列表的中位数_python中获取中位数的两种方法

    普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...

  5. python csv合并单元格_python中合并表格的两种方法

    合并表格要注意的是设置表格的表头,也就是是将表格第一列设置为合并表格的索引,这样合并表格的时候就会合并两个表格第一列的元素相同的行. 方法一:使用join合并import numpy as np im ...

  6. python log函数怎么打_Python的log日志功能及设置方法

    python log函数怎么打_Python的log日志功能及设置方法_Elaine要当律师的博客-CSDN博客

  7. Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)

    Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...

  8. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  9. python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

最新文章

  1. 利用c语言找出输入文本最长的一行
  2. python爬虫实例-python使用百度进行爬虫简单学习例子
  3. python培训班排行榜-深圳python培训机构排行榜
  4. 软工作业3—词频统计
  5. php 有 stringbuffer,string,stringbuffer以及stringbuilder的区别
  6. Linux 系统审计操作行为的 5 种解决方案
  7. python学习笔记(八)类(classes)
  8. 【发现问题】Java中PrintWriter和BufferedWriter的区别
  9. linux 指令引用变量,Linux之变量引用与命令替换
  10. SQL Server的导出导入方式有
  11. 深入理解php 匿名函数和 Closure
  12. 从哲学源头思考自动驾驶网络架构设计
  13. 解析大型.NET ERP系统 20条数据库设计规范
  14. 如何防止盗号 使用windows自带的 屏幕键盘 OSK
  15. 缺少tlqcu_qcu1.conf文件
  16. 深度学习之卷积神经网络中常用模型评估指标(混淆矩阵,精确率,召回率,特异度计算方法)——python代码
  17. 【Matlab水果识别】RGB+HSV水果成熟度分级系统【含GUI源码 825期】
  18. unity材质球复制
  19. ubuntu下查看显卡型号
  20. 程序员创业:高智商的程序员为什么创业却屡屡失败?

热门文章

  1. php5.2的配置方,Windows IIS PHP 5.2 安装与配置方法
  2. vector 不是模板
  3. python 画roc曲线
  4. 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
  5. pelee yuface 手势模型
  6. hi3559 目标检测
  7. libtorch调用resnet
  8. python 调用c++返回char*
  9. YUV2RGB c++ python
  10. C++矩阵处理工具——Eigen