python删除列表元素_python实现七种方法去除列表中的重复元素

在Python中,列表是非常重要的一种数据类型,也是我使用最为广泛的一种数据类型,很多数据的处理和转换工作都是基于list完成,在之前的学习工作中经常会有一种与list操作相关的需求就是去除列表中的重复元素,这个对于不是初学者来说肯定是非常简单的了,比如对于列表A来说,一句简单的list(set(A))就完成的所需要的操作了,那么有没有其他的方法也可以完成相同的操作呢?当然是有的了,我python无敌的好吗!

c61b8863b9d081b6dd54d8b0eb4e2c8c.png

想到这里,我就简单总结了一下我所用到的一些列表元素去重方法,具体如下:

# !/usr/bin/env python# -*- coding:utf-8 -*-  '''__Author__:沂水寒城功能: python列表去除方法总结(7种方法)'''   import sysreload(sys)import copysys.setdefaultencoding("utf-8")from collections import Counter  def func1(data_list): ''' 使用内置set方法去重 ''' return list(set(data_list))  def func2(data_list): ''' 借助字典方法fromkeys ''' return list({}.fromkeys(data_list).keys())  def func3(data_list): ''' 使用类列表推导式 ''' res_list=[] for one in data_list: if not one in res_list: res_list.append(one) return res_list  def func4(data_list): ''' 使用sorted函数(其实本质上还是使用set方法进行的排序) ''' res_list=copy.deepcopy(data_list) res_list=sorted(set(data_list),key=data_list.index) return res_list  def func5(data_list): ''' 使用"排序+计数"的方法 ''' result_list=[] temp_list=sorted(data_list) i=0 while i

简单进行一下测试,结果输出如下:

[0, 2, 3, 4, 5, 7, 9, 12, 78, 44][0, 2, 3, 4, 5, 7, 9, 12, 78, 44][12, 4, 7, 3, 2, 5, 78, 9, 0, 44][12, 4, 7, 3, 2, 5, 78, 9, 0, 44][0, 2, 3, 4, 5, 7, 9, 12, 44, 78][12, 4, 7, 3, 2, 5, 78, 9, 0, 44][4, 3, 0, 5, 12, 2, 7, 9, 78, 44]

还是很有意思的吧,简单却又强大,大家从上面的去重结果是否发现了什么呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值