Python列表去重且不改变元素顺序的代码

举报
yd_266633251 发表于 2023/12/21 09:18:40 2023/12/21
【摘要】 Python列表去重,如果不考虑原来元素的顺序(基本顺序)的话,可以使用Python内置的set()函数对列表进行转换去重,然后转换会列表,这是因为set()集合本身就具备去重的功能,但Python的集合又是无序的,因此可能会导致列表中元素原本排列顺序的改变。那要在不改变列表元素顺序的前提下

Python列表去重且不改变元素顺序的方法

Python列表去重,如果不考虑原来元素的顺序(基本顺序)的话,可以使用Python内置的set()函数对列表进行转换去重,然后转换会列表,这是因为set()集合本身就具备去重的功能,但Python的集合又是无序的,因此可能会导致列表中元素原本排列顺序的改变。那要在不改变列表元素顺序的前提下该如何“删除”掉重复的元素呢?

这里探讨的去重方法,实际上并不是使用删除元素的方法,相反使用的是添加元素的方法,即声明一个用于最终返回的列表,用于添加该返回的列表list内没有的元素,这比删除元素要精确一些,因为如果使用原列表直接删除元素,会导致列表中后续元素索引的改变,这个会在以后的文章中专门介绍一下。

该方法将使用for循环遍历列表,除此之外,这里还涉及到的几个方法和函数,如下:

  • not in:用于判断元素是否在返回列表中,以判断是否是重复的元素;
  • append():用于向返回列表添加元素;

Python列表去重且不改变元素顺序的函数设计

def deduplication(listarg):
    returnList = []
    for i in listarg:
        if i not in returnList:
            returnList.append(i)
    return returnList

# 测试该函数
list1 = [1,2,2,3,5,3,6,5,8]
returnList = deduplication(list1)
print(returnList)

来源:笨鸟工具导航 https://www.x1y1z1.com/

原文:Python列表去重且不改变元素顺序的函数代码设计 https://www.x1y1z1.com/python/pylistquchong.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。