精华内容
下载资源
问答
  • python删除列表重复元素
    2021-06-15 13:59:08

    给定一个列表,要求删除列表中重复元素。

    listA = ['python','语','言','是','一','门','动','态','语','言']

    方法1, 对列表调用排序,从末尾依次比较相邻两个元素,遇重复元素则删除,否则指针左移一位重复上述过程:

    def deleteDuplicatedElementFromList(list):
            list.sort();
            print("sorted list:%s" % list)
            length = len(list)
            lastItem = list[length - 1]
            for i in range(length - 2,-1,-1):
                    currentItem = list[i]
                    if currentItem == lastItem:
                            list.remove(currentItem)
                    else:
                            lastItem = currentItem
            return list

    方法2, 设一临时列表保存结果,从头遍历原列表,如临时列表中没有当前元素则追加:

    def deleteDuplicatedElementFromList2(list):
            resultList = []
            for item in list:
                    if not item in resultList:
                            resultList.append(item)
            return resultList

    方法3, 利用python中集合元素惟一性特点,将列表转为集合,将转为列表返回:

    def deleteDuplicatedElementFromList3(listA):
            #return list(set(listA))
            return sorted(set(listA), key = listA.index)

    执行结果:

    print(deleteDuplicatedElementFromList(listA))        
    #sorted list:['python', '一', '动', '态', '是', '言', '言', '语', '语', '门']
    #['python', '一', '动', '态', '是', '言', '语', '门']
    
    print(deleteDuplicatedElementFromList2(listA))        
    #['python', '语', '言', '是', '一', '门', '动', '态']
    
    print(deleteDuplicatedElementFromList3(listA))        
    #['python', '语', '言', '是', '一', '门', '动', '态']

    分析:

    方法1,逻辑复杂,临时变量保存值消耗内存,返回结果破坏了原列表顺序,效率最差
    方法2,直接调用append方法原处修改列表,逻辑清晰,效率次之
    方法3,极度简洁,使用python原生方法效率最高

    更多相关内容
  • 主要介绍了Python list列表中删除多个重复元素操作,结合实例形式分析了Python删除list列表重复元素的相关操作技巧与注意事项,需要的朋友可以参考下
  • python删除列表重复元素

    千次阅读 2021-02-10 07:27:50
    python如何删除list里重复的元素要CSS布局HTML小编今天和大家分享是把列表里的重复元素删除,只保留没有重复的元素。 例如: a=['a',代码如下: oldList = ['a','b','c','d','a','a']newList = []for letter in ...

    python如何删除list里重复的元素

    要CSS布局HTML小编今天和大家分享是把列表里的重复元素删除,只保留没有重复的元素。 例如: a=['a',代码如下: oldList = ['a','b','c','d','a','a']newList = []for letter in oldList: if letter not in newList: newList.append(letter)print newList运行结果:['a', 'b', 'c', 'd']

    python如何删除list里重复的元素?

    5e3aa0af05ee62271b5cca60680395a5.png

    python 如何删除列表中相邻的重复元素

    list1 = ['1','1','2','2','1','1']def del_adjacent(alist): for i in range(len(alist) - 1, 0, -1): if alist[i] == alist[i-1]: del alist[i]del_adjacent(list1)print(list1)# ['1', '2', '1']

    python判断列表中是否有重复元素

    举个栗子: 原数组长度,与去重后的数据,判断长度,长度相等,则证明无重复项,不相等就说明有重复项 str=[1,2,3,4,5]if len(str)==len(set(str)): print "no dump"else: print "dump"

    python 如何找出两个list中的相同元素

    比如list1 = ['H','U','N','T','I','N','G'] list2 =['H','U','N','T','可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。 list1 = [1,2,3,4,5]list2 = [4,5,6,7,8]print [l for l in list1 if l in list2]# [4,5]如果每一个列表中均没有重复的元素。

    python怎么找出list重复的元素

    可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。 list1 = [1,2,3,4,5] list2 = [4,5,6,7,8] print [l for l in list1 if l in list2] # [4,5] 如果每一个列表中均没有重复的元素。

    python代码:删除列表中相同的元素

    lonelycat1984 没考虑其他情况,比如,无法hash的情况 try: set except NameError: from sets import Set as set #2.3以前 def unique(s): try: return list(set(s)) except TypeError: pass t = list(s) try: t.sort() except TypeError: del t

    python中怎样删掉具有相同元素的字符串

    我有一个list的字符串(如下),我想删除里面所有含有换行符的字符串。L=[('c', 'u'), ('x', 'f'), ('i', 'h'), ('j', 'v'), ('c', 'g'), ('r', 'w'), ('h', 's'), ('n', 'o'), ('k', 'b'), ('l', '\n'), ('i', 'y'), ('z', 'z'), ('d', 'q'), ('t', 'z'), ('o', 'x'), ('s', 'o'), ('c', 'n'), ('\n', 'f')

    展开全文
  • 本文实例讲述了Python实现列表删除重复元素的三种常用方法。分享给大家供大家参考,具体如下: 给定一个列表,要求删除列表中重复元素。 listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1...
  • 如下所示: a = [1,1,1,2,3,45,1,2,1] ... 您可能感兴趣的文章:python删除列表元素的三种方法(remove,pop,del)python 删除列表里所有空格项的方法总结python清空命令行方式Python实现去除列表重复
  • python删除列表重复元素

    千次阅读 多人点赞 2021-07-27 22:53:29
    # 删除列表重复元素 list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9] print('转化为集合后: ', list(set(list1))) 结果如下: 我们发现原来列表中元素的相对位置改变了。 方法二: 如果不...

    方法一:

     如果我们不考虑原来列表中元素的先后位置,可以直接将列表转化为集合(集合不允许有重复元素),然后在转为列表。

    实现代码:

    # 删除列表中重复元素
    list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
    print('转化为集合后: ', list(set(list1)))

    结果如下:

    我们发现原来列表中元素的相对位置改变了,如果对元素位置为没有要求的话,可以使用这个方法。

    方法二:

    思路:首先创建一个空列表,把待处理列表的元素一个一个添加进新列表中,如果待添加的元素在新列表中已经存在,则不添加。

    实现代码:

    # 删除列表中重复元素
    list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
    # 创建一个新列表
    listNew1 = []
    for i in range(len(list1)):
        if list1[i] not in listNew1:
            listNew1.append(list1[i])
    print('处理后的列表:', listNew1)

    运行结果:

     这里我们发现元素的相对位置没有改变,但是相比方法一要稍微复杂一点点。

    方法三:

    不创建新列表,只在原来的列表中处理。

    # 删除列表中重复元素
    list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
    
    for i in range(len(list1)):
        j = i + 1
        # 如果j大于等于列表的长度,说明超出索引了,结束当前循环
        if j >= len(list1):
            break
        while True:
            # 如果j小于列表的长度,则执行下面语句,否则跳出循环
            if j < len(list1):
                if list1[i] == list1[j]:
                    del list1[j]
                else:
                    j += 1
            else:
                break
    print(list1)

    运行结果:

    大家学会了吗?

    展开全文
  • python删除列表中的重复元素并保持相对顺序不变 从列表删除重复项以便所有元素都是唯一的同时保持原有相对顺序不变 对于列表我们可以使用如下方法: l1 = [1,7,7,8,5,5,4] l2 = list(set(l1)) l2.sort(key=l1...

    python删除列表中的重复元素并保持相对顺序不变

     

    从列表中删除重复项以便所有元素都是唯一的同时保持原有相对顺序不变

    对于列表我们可以使用如下方法:

    l1 = [1,7,7,8,5,5,4] 
    l2 = list(set(l1)) 
    l2.sort(key=l1.index)
    print (l2) 

    那么如果我们需要去除冗余数据的数据结构是字典、文件那?


    #如果序列上的值都是 hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题。

    def dedupe(items):
        seen = set()
        for item in items:
            if item not in seen:
                yield item
                seen.add(item)
    
    test_list = [10,10,1,200,200,9,0,9,1000,50,10,10]
    # 想消除重复元素,通常可以简单的构造一个集合
    # 但是set方法不能维护元素的顺序,生成的结果中的元素位置被打乱。
    print(set(test_list))
    list(dedupe(test_list))

    #
    {0, 1, 200, 9, 10, 1000,

    展开全文
  • 一: 直接遍历列表删除 l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2] for el in l1: if l1.count(el) > 1: l1.remove(el) print(l1)# 会漏删,因为删除一个元素后,后面的元素向前补位,导致紧跟的一个元素被...
  • 本文实例讲述了Python简单删除列表中相同元素的方法。分享给大家供大家参考,具体如下: 去除列表重复元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2, 5] b = list(set(a)) print(a) print(b) 运行...
  • 一、python代码 test_list=['张三','李四','王五','张三','1','1','2','2','3','3'] #法一:将列表转化为集合输出 test_set=set(test_list) print("法一的结果为:",list(test_set)) #法二:for循环遍历并判断 test_...
  • python删除列表重复元素

    万次阅读 多人点赞 2018-07-19 09:12:50
    在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,...先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的 2.使用del函数或者remove函数 lists = [1,1...
  • 本文实例讲述了Python实现去除列表重复元素的方法。分享给大家供大家参考,具体如下: 这里一共使用了四种方法来去除列表中的重复元素,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:...
  • python删除列表重复元素
  • 主要介绍了Python实现判断给定列表是否有重复元素的方法,列举了2种列表判断方法,涉及Python针对列表的遍历、统计、判断等相关操作技巧,需要的朋友可以参考下
  • 网上学习了的两个新方法,代码非常之简洁。看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一...Q: 给定一个列表,去掉其重复元素,并输出 ''' def distFunc1(): a=[1,2,4,2,4,5,6,5,7,8,9,
  • 主要介绍了Python实现连接两个无规则列表删除重复元素并升序排序的方法,涉及Python针对列表的合并、遍历、判断、追加、排序等操作技巧,需要的朋友可以参考下
  • 列表Python中的重复元素

    千次阅读 2020-12-05 18:15:52
    请在此处尝试^{}:>>> from itertools import groupby,islice>>> a = ['a', 'a', 'b', 'c', 'c', 'c', 'b']>>> [list(g) for k,g in groupby(a)][['a', 'a'], ['b'], ['c', 'c', 'c'], ...
  • Python 实现删除列表重复元素的功能

    千次阅读 2020-11-12 10:25:39
    实现删除列表重复元素的功能 a = [1,1,1,4,4,2,2,2,2,3] #创建列表 b =set(list(a)) #用集合的方式把a赋值给b c = list(b) #用列表的方式把b转换为c c.sort() #排序 print(c) 输出结果:
  • 主要介绍了Python实现嵌套列表及字典并按某一元素重复功能,涉及Python列表嵌套列表列表嵌套字典,及按照某一元素重复的相关操作方法,需要的朋友可以参考下
  • 主要介绍了python代码实现将列表重复元素之间的内容全部滤除,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 本文实例讲述了python删除列表中重复记录的方法。分享给大家供大家参考。... 您可能感兴趣的文章:Python实现列表删除重复元素的三种常用方法分析使用python读取txt文件的内容,并删除重复的行数方法Pytho
  • python 删除列表重复元素

    千次阅读 2018-07-23 20:48:39
    # 删除列表重复元素 def de(ln): lt = [] for i in range(len(ln) - 1): j = i + 1 for k in range(i + 1): if(ln[k] == ln[j]): ln[j] = " " for m i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,038
精华内容 37,215
关键字:

python删除列表重复元素