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)
免责声明:内容仅供参考,不保证正确性。