c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

Python如何删除列表中重复元素

周琼 2023-07-08编程经验
Python如何删除列表中重复元素在Python中,可以使用许多方式从列表中删除重复的元素。下面将会介绍四种使用简单易懂的方法,供您参考。方法1:使用setPython

Python如何删除列表中重复元素

在Python中,可以使用许多方式从列表中删除重复的元素。下面将会介绍四种使用简单易懂的方法,供您参考。

方法1:使用set

Python的set数据结构是一组无序的、不重复的元素。可以使用这个特性去除列表中的重复元素,然后将唯一值转化为列表。

      def remove_duplicates(lst):
        return list(set(lst))
        
      # 测试
      lst=[1, 2, 2, 3, 4, 4, 4, 5]
      result=remove_duplicates(lst)
      print(result)    # 输出 [1, 2, 3, 4, 5]
    

方法2:使用列表推导式

列表推导式可以在一行代码内完成去重操作。

      def remove_duplicates(lst):
        return [i for n, i in enumerate(lst) if i not in lst[:n]]
        
      # 测试
      lst=[1, 2, 2, 3, 4, 4, 4, 5]
      result=remove_duplicates(lst)
      print(result)    # 输出 [1, 2, 3, 4, 5]
    

方法3:使用字典

字典是Python的另一个数据结构,唯一的键可以用来从一个列表中创建一个唯一的元素列表。

      def remove_duplicates(lst):
        d={}
        for i in lst:
            d[i]=True
        return list(d.keys())
        
      # 测试
      lst=[1, 2, 2, 3, 4, 4, 4, 5]
      result=remove_duplicates(lst)
      print(result)    # 输出 [1, 2, 3, 4, 5]
    

方法4:使用循环

使用循环遍历列表中的每个元素,每次只留下列表中第一次出现的元素。

      def remove_duplicates(lst):
        no_duplicates=[]
        for i in lst:
            if i not in no_duplicates:
                no_duplicates.append(i)
        return no_duplicates
        
      # 测试
      lst=[1, 2, 2, 3, 4, 4, 4, 5]
      result=remove_duplicates(lst)
      print(result)    # 输出 [1, 2, 3, 4, 5]
    

总结

Python的列表做为列表,它允许储存相同的元素,因此程序员需要在必要的情况下剔除掉重复的元素。本文介绍了使用set、列表推导式、字典和循环四种方法,程序员可以根据实际需要选择其中一种方法。

文章评论