python列表删除重复元素的两种方法

python列表删除重复元素

首先,来介绍一下设计删除python列表重复元素的函数的思路。一,可以通过for循环来遍历迭代列表中的每一个元素;二、在遍历迭代的基础上,检查元素在列表中的出现次数,这个可以通过count()方法来实现;三、如果元素出现的次数大于1,就删除该元素,可以通过remove()方法来完成。


函数设计实例代码

为了尽可能地避免打乱列表中的一些元素顺序,下方的函数设计通过倒序的索引方式来实现,实例如下:

#-*- coding:utf-8 -*-
def removeDobule(listarg):
    num = len(listarg)
    indexList = list(range(num))
    indexList.sort(reverse=True)
    for i in indexList:
        ele = listarg[i]
        if listarg.count(ele) > 1:
            listarg.remove(ele)
    return listarg



    
list1 = [1,2,3,4,5,6,6,6,6,6,7,8,8,9,9]
list2 = removeDobule(list1)
print(list2)

运行python文件,得到输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

利用set()方法进行去重

python的集合是无序且自带去重功能的,所以,要将列表list进行去重,可以使用set()方法,将其转换为集合set,然后再转回list:

>>> list1 = [1,2,3,4,5,6,6,6,6,6,7,8,8,9,9]
>>> set1 = set(list1)
>>> set1
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> list2 = list(set1)
>>> list2
[1, 2, 3, 4, 5, 6, 7, 8, 9]

全栈后端 / python教程 :


























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