Python列表去重的几种方法整理
作者:小旭2021 发布时间:2022-06-18 18:05:17
标签:Python,列表,去重
请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重复元素除去,写出至少3种方法。
方法一:利用集合去重
list_1=[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func1(list_1):
return list(set(list_1))
print('去重后的列表:',func1(list_1))
方法二:利用for循环
list_2 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func2(list_2):
#定义一个空列表
mylist_2=[]
#i遍历list_2
for i in list_2:
#如果i不在mylist_2,则添加到mylist_2
if i not in mylist_2:
mylist_2.append(i)
print(mylist_2)
print(func2(list_2))
方法三:巧用sort()排序
list_3 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func3(list_3):
result_list=[]
temp_list=sorted(list_3)
i=0
while i<len(temp_list):
#如果不在result_list则添加进去,否则i+1
if temp_list[i] not in result_list:
result_list.append(temp_list[i])
else:
i+=1
return result_list
print(func3(list_3))
方法四:巧用字典
list_4= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func4(list_4):
#fromkeys() 函数创建一个新字典,获取新字典的键(键值是唯一的)
result_list = []
for i in {}.fromkeys(list_4).keys():
result_list.append(i)
return result_list
print(func4(list_4))
方法五:利用迭代器
import itertools
list_5= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func5(list_5):
list_5.sort()
temp_list= itertools.groupby(list_5)
result_list=[]
for i,j in temp_list:
result_list.append(i)
return result_list
print(func5(list_5))
运行结果:
来源:https://www.cnblogs.com/chenyablog/p/15172766.html


猜你喜欢
- 打算学习linux和考一下认证。学习HCIA-AI实验手册发现的小问题和记录贴,防止自己忘。我不知道这个手册是不是公开的,你们自己去华为下载
- 前面一篇文章有说过,利用scrapy来爬取图片,是为了对图片数据进行分类而收集数据。本篇文章就是利用上次爬取的图片数据,根据图片的颜色特征来
- vue 简介Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量
- 通常python安装包都会被默认装在/usr/local/pythonx/lib/site-packages(linux),但是我们有时想自
- 额。。。每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了。。。那么有没有一
- 数据库响应慢问题最多的就是查询了。现在大部分数据库都提供了性能分析的帮助手段。例如Oracle中会帮你直接找出慢的语句,并且提供优化方案。在
- 源码及注释:import pygamefrom sys import exitfrom random import randintimpor
- create database MyDb on ( name=mainDb, filename='c:\MyDb\mainDb.md
- 复数数据结构在 cpython 当中对于复数的数据结构实现如下所示:typedef struct { double
- 背景当前很多文章尝试过最优分箱,python上也有cut等方法进行等宽分箱。为了方便日后输出结果以及分箱要求。做一个简单的轮子以供大家日后使
- 用python做一个简单的随机点名程序(不重复点名)这是我来到csdn的第一篇文章,内容如果有瑕疵的地方或者代码可以进一步改善,请大家对我指
- Apache2 httpd.conf 中文版 # # 基于 NCSA 服务的配
- 刚刚登甲发来一个文章,看到只要一行代码,就可以把IE6弄死.<style>*{position:relative}&
- 数据库锁介绍: https://www.jb51.net/article/248863.htm一、查询oracle锁定的表:1、锁相关表SE
- 一、效果展示话不多说先上效果为了更有意境我加了个完美的背景来衬托出月饼的好看我的月饼画的不圆的原因是我故意的,为什么呢?因为月有阴晴圆缺啊!
- 一、什么是字典?字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通
- var request = require('request')var url = 'http://www.baid
- 1. 服务器优化优化原则:内存里的数据要比磁盘上的数据访问起来快;站数据尽可能长时间地留在内存里能减少磁盘读写活动的工作量;让索引信息留在内
- 如下所示:<div id="app"><el-form :model="ruleForm2&
- 长话短说:本人下载 matplotlib 花了大概三个半小时屡屡碰壁,险些暴走。为了不让新来的小伙伴走我的弯路,特意创作本片文章指明方向。1