精华内容
下载资源
问答
  • python删除列表中重复元素
    千次阅读
    2016-10-27 14:24:54

    引自小楼的博客

    在itertools有个强大的函数groupby可以很快捷的实现:

    from itertools import *
    a = [1, 4, 5, 4, 9, 1, 2, 3, 4, 5, 11]
    a.sort()
    b = [k for k, g in groupby(a)]
    print b

    更多相关内容
  • python删除列表中重复元素

    《Python编程 -- 从入门到实践》 练习5-10 中有需要删除重复元素的地方

    检查用户名

    按下面说的编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。

    1. 创建一个至少包含5个用户名的列表,并将其命名为current_users。
    2. 再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个用户名也包含在列表current_users中。
    3. 遍历列表new_users,对于其中的每个用户名,都检查它是否已被使用。如果是这样,就打印一条消息,指出需要输入别的用户名(答案中没有指出关于输入别的用户名如何操作,我自己写了一下);否则,打印一条消息,指出这个用户名未被使用。
    4. 确保比较是不区分大小写的;换句话说,如果用户名'John'已被使用,应拒绝用户名'JOHN'。

     我自己写的答案代码如下:

    #Practice 5-10
    
    current_users = ['dawnhan', 'xiaogu', 'jack', 'tom', 'aily', 'lisa', 'John']
    current_users_name = [username.lower() for username in current_users]  # 将所有元素都改为小写字母
    new_users = ['Dawnhan', 'Lisa', 'Jaden', 'Tesen', 'john', 'aiken', 'John']
    new_users_name = [username.lower() for username in new_users]
    for new_user in new_users_name:
        if new_user in current_users_name:
            print(new_user.title() + ", that name is taken.Please input another username:")
            new_users_name.remove(new_user)
            username = input()
            username.lower()
            new_users_name.append(username)
        else:
            new_user.title()
            print("This username -- " + new_user + " haven't been used.")
    newusers_name = [newname.title() for newname in new_users_name]
    # 使用内置函数set;先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
    newusersname = list(set(newusers_name))
    
    print("New users_name are:")
    print(newusersname)

    在最后查看新用户名的时候,将曾使用过的与重复的用户名删除后再打印出来

    将重复用户名删除使用的是内置函数set(),先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的

    删除曾使用过的用户名使用的是remove()

    输出结果展示如下:(我在过程中输入了三次新的用户名:Jacken)

    书本自带答案如下:

    current_users = ['eric', 'willie', 'admin', 'erin', 'Ever']
    new_users = ['sarah', 'Willie', 'PHIL', 'ever', 'Iona']
    
    current_users_lower = [user.lower() for user in current_users]
    
    for new_user in new_users:
        if new_user.lower() in current_users_lower:
            print("Sorry " + new_user + ", that name is taken.")
        else:
            print("Great, " + new_user + " is still available.")

     输出结果:

    展开全文
  • 主要介绍了Python list列表中删除多个重复元素操作,结合实例形式分析了Python删除list列表重复元素的相关操作技巧与注意事项,需要的朋友可以参考下
  • 本文实例讲述了Python简单删除列表中相同元素的方法。分享给大家供大家参考,具体如下: 去除列表中重复元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2, 5] b = list(set(a)) print(a) print(b) 运行...
  • 本文实例讲述了Python实现列表删除重复元素的三种常用方法。分享给大家供大家参考,具体如下: 给定一个列表,要求删除列表中重复元素。 listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1...
  • python中删除列表中重复元素

    万次阅读 多人点赞 2018-07-19 09:12:50
    在面试,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,...先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的 2.使用del函数或者remove函数 lists = [1,1...

    在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。

    1. 使用内置函数set

    lists = [1,1,2,3,4,6,6,2,2,9]
    lists = list(set(lists))

    先将列表转换为集合,因为集合是不重复的,故直接删除重复元素

    2.使用del函数或者remove函数

    lists = [1,1,2,3,4,6,9,6,2,2]
    lists.sort()
    t = lists[-1]
    for i in range(len(lists)-2,-1,-1):
    	# print(i)
    	if t == lists[i]:
    		# del lists[i]
    		lists.remove(lists[i])
    	else:
    		t = lists[i]

    使用这种方法时需要先进行排序,然后对比相邻两个元素是否相同,相同即删除。这里只能从lists[-1]开始进行循环,因为从0开始后,在进行删除元素时列表长度会发生改变,造成列表越界。从后往前开始则不会出现此问题。

    3. numpy.unique()方法去重

    import numpy as np
    lists = [1,1,2,3,4,6,9,6,2,2]
    lists = np.unique(lists)
    

    在科学计算库numpy中有一个方法来进行去重,但返回结果为ndarray类型

    展开全文
  • 如下所示: a = [1,1,1,2,3,45,1,2,1] ... 您可能感兴趣的文章:python删除列表元素的三种方法(remove,pop,del)python 删除列表里所有空格项的方法总结python清空命令行方式Python实现去除列表中重复
  • 本文实例讲述了Python实现去除列表中重复元素的方法。分享给大家供大家参考,具体如下: 这里一共使用了四种方法来去除列表中重复元素,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:...
  • 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这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看...# @param 三种方法删除列表中重复元素及效率分析!# @author 编程之家 jb51.cc|jb51.ccdef methodOne(list):list.sort()le...
  • 本文实例讲述了python删除列表中重复记录的方法。分享给大家供大家参考。... 您可能感兴趣的文章:Python实现列表删除重复元素的三种常用方法分析使用python读取txt文件的内容,并删除重复的行数方法Pytho
  • python列表删除重复元素的三种方法

    千次阅读 多人点赞 2020-09-27 14:18:06
    给定一个列表,要求删除列表中重复元素。 listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1,对列表调用排序,从末尾依次比较相邻两个元素,遇重复元素删除,否则指针左移一位重复上述...
  • 主要介绍了python代码实现将列表中重复元素之间的内容全部滤除,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 今天小编就为大家分享一篇关于Python代码实现删除一个list里面重复元素的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 一: 直接遍历列表删除 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)1、使用集合Python中集合的元素是唯一的,具有去重的功能。使用集合与列表可以互转的特性,将列表转换为集合去重,再将集合转换为列表:def func1(my_list):'''使用...
  • 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...
  • 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实现判断给定列表是否有重复元素的方法,列举了2种列表判断方法,涉及Python针对列表的遍历、统计、判断等相关操作技巧,需要的朋友可以参考下
  • python删除列表中重复元素并保持相对顺序不变 从列表中删除重复项以便所有元素都是唯一的同时保持原有相对顺序不变 对于列表我们可以使用如下方法: l1 = [1,7,7,8,5,5,4] l2 = list(set(l1)) l2.sort(key=l1...
  • Python去除列表中重复元素

    万次阅读 多人点赞 2019-04-30 23:21:39
    Python去除列表中重复元素:三种方法 1.使用set去除重复元素 list1 = [1, 2, 5, 6, 7, 4, 8, 2, 7, 9, 4, 6, 3] list2 = list(set(list1)) print(list2) 输出结果如下: 会改变原列表元素的顺序。 [1, 2, 3, 4, 5...
  • 这里首先给出来我很早之前写的一篇博客,python四种方法来去除列表中重复元素,感兴趣的话可以去看看,今天是在实践过程又积累了一些方法,这里一并总结放在这里。 由于内容很简单,就不再过多说明了,这里...
  • python删除list中重复元素的两种方法

    千次阅读 2021-01-09 20:32:02
    python删除list中重复元素的两种方法 方法一:使用遍历的方法进行删除 注:需要注意的是遍历要在列表尾部进行删除,如果在列表开始进行删除,列表的元素id会进行更新,所以会出现问题 lsts = [1,4,2,9,4,6,9,8,4,...
  • Python去除列表中重复元素的方法

    千次阅读 2020-11-20 18:07:56
    本文实例讲述了Python去除列表中重复元素的方法。分享给大家供大家参考。具体如下:比较容易记忆的是用内置的set?123l1= ['b','c','d','b','c','a','a']l2= list(set(l1))print l2还有一种据说速度更快的,没测试过...
  • 去除列表中重复数字 #第一种:用列表中自带的内置函数set进行删除: list1 = [1,1,1,4,4,5,5,7,7,7,7,7,9,9] list2 = list(set(list1))#重新创建一个变量,接收返回值。使用list方法的set函数 print(list2) #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,996
精华内容 37,598
热门标签
关键字:

python删除列表中重复元素