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)

免责声明:内容仅供参考,不保证正确性。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.