精华内容
下载资源
问答
  • Python列表去重方法
    2021-09-14 11:17:34

    方法一:使用内置set方法来去重

    >>> lst1=[2,3,41,2,4,3,4]
    >>> lst2=list(set(lst1))
    >>> print(lst2)
    [41, 2, 3, 4]

    方法二:使用字典中fromkeys()的方法来去重

    >>> lst1=[2,3,41,2,4,3,4]
    >>> lst2={}.fromkeys(lst1).keys()
    >>> print(lst2)
    dict_keys([2, 3, 41, 4])

    方法三:使用常规方法来去重

    [root@localhost ~]# cat listuniq.py 
    lst1 = [2,3,41,2,4,3,4]
    temp = []
    for item in lst1:
        if not item in temp:
            temp.append(item)    
    print(temp)

    [root@localhost ~]# python listuniq.py 
    [2, 3, 41, 4]

    方法四: 使用列表推导来去重

    >>> lst1=[2,3,41,2,4,3,4]
    >>> temp = []
    >>> [temp.append(i) for i in lst1 if not i in temp]
    [None, None, None, None]
    >>> print(temp)
    [2, 3, 41, 4]

    方法五: 使用sorted函数来去重

    >>> lst1=[2,3,41,2,4,3,4]
    >>> lst2 = sorted(set(lst1), key=lst1.index)
    >>> print(lst2)
    [2, 3, 41, 4]

    备注: 前面的几种方法,有几种是不能保证其顺序的,比如用set()函数来处理!

    如果要删除列表列表中的重复项,则同样可以用下面的几种方法来处理

    >>> # 方法一:
    >>> data = [2, 1, 3, 4, 1]
    >>> [item for item in data if data.count(item) == 1]
    [2, 3, 4]
    >>> # 方法二:
    >>> data = [2, 1, 3, 4, 1]
    >>> list(filter(lambda x:data.count(x) == 1, data))
    [2, 3, 4]

    更多相关内容
  • 列表去重是写Python脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做去重处理。 我们先来个最...
  • 您可能感兴趣的文章:Python3删除排序数组中重复项的方法分析Python实现删除排序数组中重复项的两种方法示例python中对list去重的多种方法Python列表去重的多种方法(四种方法)Python对字符串实现去重
  • 无聊统计了下列表去重到底有多少种方法。下面小编给大家总结一下,具体内容详情如下; 开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种...
  • 今天小编就为大家分享一篇对python列表里的字典元素去重方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python列表去重的多种方法

    千次阅读 2021-01-22 16:44:45
    python列表去重 怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢? 去重之后顺序会改变 set去重 #列表去重改变原列表的顺序了 l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) print(l2) # [1, 2, 3, 4...

    python中列表去重

    怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢?
    去重之后顺序会改变

    set去重

    #列表去重改变原列表的顺序了
    l1 = [1,4,4,2,3,4,5,6,1]
    l2 = list(set(l1))
    print(l2)    # [1, 2, 3, 4, 5, 6]
    

    但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。

    l1 = [1,4,4,2,3,4,5,6,1]
    l2 = list(set(l1))
    l2.sort(key=l1.index)
    print(l2)      # [1, 4, 2, 3, 5, 6]
    

    itertools.groupby

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    import itertools
    l1 = [1,4,4,2,3,4,5,6,1]
    l1.sort()
    l = []
    it = itertools.groupby(l1)
    for k,g in it:
        l.append(k)
    print(l)      # [1, 2, 3, 4, 5, 6]
    

    fromkeys

    l1 = [1,4,4,2,3,4,5,6,1]
    t = list({}.fromkeys(l1).keys())
    # 解决顺序问题
    t.sort(key=l1.index)
    print(t)         # [1, 4, 2, 3, 5, 6]
    

    通过删除索引

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    l1 = [1,4,4,2,3,4,5,6,1]
    t = l1[:]
    for i in l1:
        while t.count(i) >1:
              del t[t.index(i)]
    # 解决顺序问题
    t.sort(key=l1.index)
    print(t)    # [1, 4, 2, 3, 5, 6]
    

    去重不改变顺序

    建立新列表[]

    l1 = [1,4,4,2,3,4,5,6,1]
    new_l1 = []
    for i in l1:
        if i not in new_l1:
            new_l1.append(i)
    print(new_l1)    # [1, 4, 2, 3, 5, 6]
    

    reduce方法

    from functools import reduce
    l1 = [1,4,4,2,3,4,5,6,1]
    func = lambda x,y:x if y in x else x + [y]
    print(reduce(func,[[],]+l1))   # [1, 4, 2, 3, 5, 6]
    
    展开全文
  • python可以说2017比较火的一个语言了,下面这篇文章主要给大家介绍了关于利用Python实现嵌套列表去重的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
  • 今天小编就为大家分享一篇Python 列表去重去除空字符的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python 列表去重

    2022-04-08 14:55:58
    python去重 通过内置的数据结构去重 使用set数据类型直接进行去重 当要去重的元素是dict或者[dict]就不是很理想 通过set去重字典 通过set去重[dict] 可以直接通过set去重列表、元组、字符串 a = (1, 2, 2, 1) ...

    python去重

    通过内置的数据结构去重

    • 使用set数据类型直接进行去重
      当要去重的元素是dict或者[dict]就不是很理想
      通过set去重字典在这里插入图片描述
      通过set去重[dict]
      在这里插入图片描述
      可以直接通过set去重列表、元组、字符串
      在这里插入图片描述
    a = (1, 2, 2, 1)
    print("去重元组", set(a))  # 去重元组
    #
    a = [1, 2, 3, 2]
    print("去重列表", set(a))  # 去重列表
    #
    a = '123123'
    print("去重字符串", set(a))  # 去重字符串
    
    • 通过字典的key去重
      因为字典的key是不可以重复的,所以我们就可以通过字典的key来进行去重.
      在这里插入图片描述
      a = [1, 2, 3, 1, 2]
      dict1 = {}
      for i in a:
          dict1[i] = ''
      print("通过字典的可以来进行去重", dict1.keys())
      
    • 通过python内置的函数来去重
      我们可以使用reduce这个方法来进行去重
      在这里插入图片描述
      官方的一段介绍
      Apply a function of two arguments cumulatively to the items of a sequence,
      from left to right, so as to reduce the sequence to a single value.
      For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
      ((((1+2)+3)+4)+5). If initial is present, it is placed before the items
      of the sequence in the calculation, and serves as a default when the
      sequence is empty.

      加粗样式
      a = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7]
      def fun1(a, b):
          if not str(b) in a:
              a.append(str(b))
          return a
      c = reduce(fun1, [[], ] + a)
      print(c)	
      
    展开全文
  • 开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。 下面的代码都在Python3下测试通过, Python2下请自行测试 1....

    开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。

    下面的代码都在Python3下测试通过, Python2下请自行测试

    1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集

    1

    2

    3

    4

    orgList = [1,0,3,7,7,5]

    #list()方法是把字符串str或元组转成数组

    formatList = list(set(orgList))

    print (formatList)

    结果:

    1

    [0, 1, 3, 5, 7]

    2. 使用keys()方法

    1

    2

    3

    4

    orgList = [1,0,3,7,7,5]

    #list()方法是把字符串str或元组转成数组

    formatList = list({}.fromkeys(orgList).keys())

    print (formatList)

    结果:

    1

    [0, 1, 3, 5, 7]

    上面两种方法的问题是:结果是没有保持原来的顺序。

    3. 循环遍历法

    1

    2

    3

    4

    5

    6

    orgList = [1,0,3,7,7,5]

    formatList = []

    for id in orgList:

        if id not in formatList:

            formatList.append(id)

    print (formatList)

    结果:

    1

    [1, 0, 3, 7, 5]

    but,这样的代码不够简洁,不够高端

    4. 按照索引再次排序

    1

    2

    3

    4

    orgList = [1,0,3,7,7,5]

    formatList = list(set(orgList))

    formatList.sort(key=orgList.index)

    print (formatList)

    结果:

    1

    [1, 0, 3, 7, 5]

    展开全文
  • python实现列表去重方法

    万次阅读 2019-06-29 21:14:51
    列表alist=[1,2,2,4,4,6,7],实现去除重复元素。 方法一:首先考虑使用set集合,因为使用集合可以去除重复元素...方法二:考虑先对列表进行遍历,然后新建一个空列表,对原有列表进行遍历,判断该元素是否在新的...
  • 方法一:使用 set() 方法进行去重 # 一、准备一个带有重复数据的列表 list_1 = [1,2,3,1,5,6,2] # 二、使用 set() 方法进行去重处理 #【注:仅用 set() 方法处理后的数据类型并不是 list 】 result = set(list_1) ...
  • 常规通过迭代或set方法,都无法保证去重后的顺序问题 如下,我们可以通过列表的...以上这篇python列表list保留顺序去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • python列表常见的5种去重方法

    千次阅读 2021-12-26 11:04:10
    列表去重python面试和实际运用中,十分常见,也是最基础的重点知识。 以下总结了5种常见的列表去重方法 一、使用for循环实现列表去重方法去重后,原顺序保持不变。 # for循环实现列表去重 list1 = ['a', 'b', 1...
  • python列表去重的两种方法

    千次阅读 2021-03-10 22:40:27
    python列表去重的两种方法 1. 使用循环进行遍历,将重复的元素去掉。 def test1(): lst = [1,2,5,6,3,5,7,3] tmp = [] for it in lst: if it not in tmp: tmp.append(it) print(tmp) 结果: [1, 2, 5, 6, 3, ...
  • 方法一: 使用内置set方法来去重 >>> lst1 = [2, 1, 3, 4, 1] >>> lst2 = list(set(lst1)) >>> print(lst2) [1, 2, 3, 4] 方法二: 使用字典中fromkeys()的方法来去重 >>> lst1 ...
  • 使用列表的sort方法: 第一种方式: li1 = ['b','c','d','b','c','a','a'] li2 = list(set(li1)) li2.sort(key=li1.index) print(li2) 打印结果: ['b', 'c', 'd', 'a'] 第二种方式: li1 = ['b','c','d','b','c',...
  • 这篇文章主要为大家详细介绍了Python列表去重的4种实现方法,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!开发中对数组、列表去重是非常...
  • 1. 列表去重 li = [] for item in my_list: if item not in li: li.append(item) 2.集合去重 list(set(my_list)) 3.字典去重 dict1 = dict.fromkeys(my_list, '') li = dict1.keys ...
  • #去重1 list1 = [2, 2, 5, 7, 7, 3, 5, 10] print(set(list1)) #去重2 list1 = [2, 2, 5, 7, 7, 3, 5, 10] list2 = [] for i in list1: if i not in list2: list2.append(i) print(list2) 第三种方法需要倒序去重,...
  • 去重(均保持了原来的顺序) ① orgList = [1,5] formatList = list(set(orgList)) formatList.sort(key=orgList.index) print (formatList) Sort 默认reverse=False 升序 ① x = ['mmm', 'mm', 'mm'...
  • 在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了下网上搜集到的几种方法。一、方法1代码如下ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not ...
  • 问题就是对一个list中的新闻id进行去重去重之后要保证顺序不变。 直观方法 最简单的思路就是: 复制代码 代码如下: ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids:  if id not in news_ids:  news...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,961
精华内容 23,184
关键字:

python列表去重方法