美文网首页
Python_list 去重

Python_list 去重

作者: Gakki0725 | 来源:发表于2022-01-04 16:44 被阅读0次
    作者:Gakki

    01. 使用内置 set 方法去重

    • set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
    • sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
      • list.sort(cmp=None, key=None, reverse=False)
      • cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。
      • key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
      • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
      • 该方法没有返回值,但是会对列表的对象进行排序。
    test_data =  [1, 2, 3, 4, 3, 5, 2, 2]
    class ListReverse:
        """
        列表去重,并按照原来的顺序排序
        """
        # 利用 set 方法去重
        def duplicate_1(self, data):
            new_data = list(set(data))
            # 利用 sort() 方法进行排序
            new_data.sort(key=data.index)
            return new_data
    if __name__ == '__main__':
        test = ListReverse()
        print(test.duplicate_1(test_data))
    
    • 输出结果:
    [1, 2, 3, 4, 5]
    

    02. 使用常规方法去重

    old_list = [1, 2, 3, 4, 3, 5, 2, 2]
    new_list = []
    for value in old_list:
        if value not in new_list:
            new_list.append(value)
    print(new_list)
    
    • 输出结果:
    [1, 2, 3, 4, 5]
    

    03. 使用列表推导式去重

    old_list = [1, 2, 3, 4, 3, 5, 2, 2]
    new_list = []
    [new_list.append(i) for i in old_list if i not in new_list]
    print(new_list)
    
    • 输出结果:
    [1, 2, 3, 4, 5]
    

    相关文章

      网友评论

          本文标题:Python_list 去重

          本文链接:https://www.haomeiwen.com/subject/trfaoltx.html