精华内容
下载资源
问答
  • python 删除重复项_Python从列表中删除重复项
    千次阅读
    2020-07-14 05:04:52

    python 删除重复项

    There are many ways to remove duplicates from a Python List.

    有很多方法可以从Python列表中删除重复项。

    从列表中删除重复项 (Removing Duplicates from a List)

    Python list can contain duplicate elements. Let’s look into examples of removing the duplicate elements in different ways.

    Python列表可以包含重复的元素。 让我们看一下以不同方式删除重复元素的示例。

    1.使用临时列表 (1. Using Temporary List)

    This is the brute-force way to remove duplicate elements from a list. We will create a temporary list and append elements to it only if it’s not present.

    这是从列表中删除重复元素的蛮力方法。 我们将创建一个临时列表,并仅在不存在临时列表时才添加元素。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    temp = []
    
    for x in ints_list:
        if x not in temp:
            temp.append(x)
    
    ints_list = temp
    
    print(f'Updated List after removing duplicates = {temp}')

    Output: Updated List after removing duplicates = [1, 2, 3, 4]

    输出Updated List after removing duplicates = [1, 2, 3, 4]

    Recommended Reading: Python f-strings

    推荐读物Python f字符串

    2. set()函数 (2. set() function)

    Python set doesn’t have duplicate elements. We can use the built-in set() function to convert the list to a set, then use the list() function to convert it back to the list.

    Python集没有重复的元素。 我们可以使用内置的set()函数将列表转换为集合,然后使用list()函数将其转换回列表。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    ints_list1 = list(set(ints_list))
    print(ints_list1)  # [1, 2, 3, 4]

    3.列出元素作为字典键 (3. List elements as Dictionary Keys)

    We know that dictionary keys are unique. The dict class has fromkeys() function that accepts an iterable to create the dictionary with keys from the iterable.

    我们知道字典键是唯一的。 dict类具有fromkeys()函数,该函数接受可迭代的对象,以使用可迭代对象的键来创建字典。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    ints_list2 = list(dict.fromkeys(ints_list))
    print(ints_list2)  # [1, 2, 3, 4]

    4.列表count()函数 (4. List count() function)

    The list count() method returns the number of occurrences of the value. We can use it with the remove() method to eliminate the duplicate elements from the list.

    列表count()方法返回该值的出现次数。 我们可以将其与remove()方法一起使用,以从列表中消除重复的元素。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    for x in ints_list:
        if ints_list.count(x) > 1:
            ints_list.remove(x)
    print(ints_list)  # [1, 2, 3, 4]

    5.清单理解 (5. List Comprehension)

    We can create a list from an iterable using the list comprehension. This technique is the same as using the temporary list and the for loop to remove the duplicate elements. But, it reduces the number of lines of the code.

    我们可以使用列表推导从可迭代对象创建列表。 此技术与使用临时列表和for循环删除重复的元素相同。 但是,它减少了代码的行数。

    int_list = [1, 2, 3, 4, 3, 2]
    temp = []
    [temp.append(x) for x in ints_list if x not in temp]
    print(temp)  # [1, 2, 3, 4]

    从列表中删除重复项的最佳方法 (Best Way to Remove Duplicates from a List)

    If you don’t want duplicate elements, you should use Set. But, if you have to remove the duplicate values from a list, then I would prefer count() function because it doesn’t create another temporary set or list object. So, it’s more memory efficient.

    如果不想重复元素,则应使用Set。 但是,如果必须从列表中删除重复的值,则我更喜欢count()函数,因为它不会创建另一个临时集或列表对象。 因此,它具有更高的内存效率。

    翻译自: https://www.journaldev.com/32742/python-remove-duplicates-from-list

    python 删除重复项

    更多相关内容
  • 主要介绍了mysql优化小技巧之去除重复项实现方法,结合实例形式分析了mysql去除重复项的方法,并附带了随机查询优化的相关操作技巧,需要的朋友可以参考下
  • 文章目录stata清洗数据——去除重复数据方法stata中的_N和_n(是去重操作的基础)去重操作对单一列:id对两列(及以上):date 和 证券代码 stata清洗数据——去除重复数据方法 stata中的_N和_n(是去重操作的基础)...
  • 易语言利用数据结构去除重复项源码,利用数据结构去除重复项
  • 主要介绍了python 删除excel表格重复行,数据预处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了java数据结构与算法之noDups去除重复项算法实现技巧,程序代码非常简单,关键在于循环与判定,需要的朋友可以参考下
  • 使用ORACLE去除重复数据,这在日常数据处理中非常有用。
  • 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构去除重复项源码.rar 易语言利用易语言数据结构...
  • 主要介绍了Python实现删除排序数组中重复项的两种方法,涉及Python数组元素的遍历、判断、删除等相关操作技巧,需要的朋友可以参考下
  • 主要介绍了MySQL 处理重复数据的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • 主要介绍了JS实现合并两个数组并去除重复项只留一个的方法,涉及JavaScript数组合并及去重的相关技巧,需要的朋友可以参考下
  • 主要给大家介绍了Array对象去除重复项的相关资料,文中通过示例代码详细介绍了在ES5和ES6中Array对象去除重复项的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
  • 主要介绍了JS简单去除数组中重复项的方法,涉及javascript针对数组的遍历、判断与运算相关操作技巧,需要的朋友可以参考下
  • 主要介绍了Java实现数组去除重复数据的方法,结合实例形式详细分析了java数组去除重复的几种常用方法、实现原理与相关注意事项,需要的朋友可以参考下
  • Excel删除重复项,不保留重复项数据

    万次阅读 2019-05-31 17:35:09
    B1输入 =IF(COUNTIF($A$1:A1,A1)=1,A1,"") 向下填充,重复记录全部变成了空格 然后通过筛选把空白去掉就只保留了唯一数据

    B1输入
    =IF(COUNTIF($A$1:A1,A1)=1,A1,"")
    向下填充,重复记录全部变成了空格

    然后通过筛选把空白去掉就只保留了唯一数据

    展开全文
  • 主要介绍了python实现查找excel里某一列重复数据并且剔除打印的方法,涉及Python使用xlrd模块操作Excel的相关技巧,需要的朋友可以参考下
  • 如何高效率去掉js数组中的重复项呢?下面小编就为大家带来一篇高效率去掉js数组中重复项的实现方法。希望对大家有所帮助。一起跟随小编过来看看吧
  • 还需要进行重复项删除数据的收集过程中,可能会存在重复观测的出现,例如通过网络爬虫,就比较容易产生重复数据.如下表,是通过爬虫获得某APP市场中电商类APP的下载量数据(部分) 通过观测可以看出唯品会和当当出现...
  • excel怎么删除重复项

    千次阅读 2021-07-26 06:52:33
    我们可以直接通过【数据】-【数据工具】-【删除重复项】直接筛选删除重复项,也可以将【条件格式】-【突出显示单元格规则】将重复项标识上颜色,然后进行排序删除,还可以通过【高级筛选】功能进行过滤。具体介绍...

    我们可以直接通过【数据】-【数据工具】-【删除重复项】直接筛选删除重复项,也可以将【条件格式】-【突出显示单元格规则】将重复项标识上颜色,然后进行排序删除,还可以通过【高级筛选】功能进行过滤。具体介绍如下:

    a3a28fc6ecc3c70343a93d267c6e431f.png

    方法一:直接删除法

    1、打开需要处理的工作表后,选中需要筛选的区域;

    2、点击页面左上方菜单栏中的【数据】-【数据工具】-【删除重复项】;

    3、这时页面弹出对话框,选择【全选】-【确认】,页面删除重复项后会弹出删除的数据。

    方法二:条件格式法

    1、打开Excel文档,选中需要筛选的区域;

    2、点击菜单栏的【开始】-【条件格式】-【突出显示单元格规则】-【重复值】-【确定】,这时页面中重复的数据就会被标识上颜色;

    3、选中该区域,鼠标右键弹出菜单,点击之后利用【排序】-【按颜色排序】,然后带有颜色标识的重复项将排列在一起,选中然后鼠标右键点击,选择【删除】即可。

    方法三:高级筛选法

    1、选中Excel文档中需要筛选的区域;

    2、点击菜单栏的【数据】-【排序和筛选】-【高级】-【确定】,在弹出的菜单中点击【选择不重复的记录】;

    3、这时刚刚选中的区域就剩下筛选过后的数据,重复项已被去除。

    展开全文
  • 易语言超级列表框去除标题重复项
  • 利用易语言数据结构去除重复项源码。@资源源码站。
  • 此函数沿矩阵的第一列查找重复值,对剩余的行求平均值,并删除重复的行。
  • labview写的删除数组中重复项,数组没有重复,保持唯一性
  • 主要介绍了javascript模拟map输出与去除重复项的方法,通过自定义函数结合遍历与删除的方法实现了去除重复项的功能,非常具有实用价值,需要的朋友可以参考下
  • 易语言源码利用易语言数据结构去除重复项源码.rar
  •  首先按照常规首段,使用having函数检查重复项,完事一个一个的删除。不要问我having检测重复项的sql咋写,你懂得哈。。。这个在只有几条重复的时候还可以。要是几千上万条不同数据重复,那咋办。。。 完事呢,咱...

        说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了。

        首先按照常规首段,使用having函数检查重复项,完事一个一个的删除。不要问我having检测重复项的sql咋写,你懂得哈。。。这个在只有几条重复的时候还可以。要是几千上万条不同数据重复,那咋办。。。

        完事呢,咱就考虑了,用having函数查询的时候,原始sql如下:

    select `name`,count(*) as count from sentence group by `name` having count>1

        大家可以运行感觉下,在五百万左右的数据时,那速度,麻油。。。

        但是嘞,咱在不考虑优化它的运行速度的前提下,来考虑使用这个语句来使我们去除数组中的重复项。首先,我们要知道,我们删除重复数据的时候需要使用的数据有哪些。id是肯定的,再来呢,筛选的条件是吧。所以嘞,上面的sql查询出来的数据,缺少了啥,id。。。那我们加上这个字段查询下试试哈:

    select id,`name`,count(*) as count from sentence group by `name` having count>1

        结果呢,就会显示出来id,name,count这三个字段。具体效果大家可以自己运行看下。根据这些数据咱们就可以进行去除重复项的操作了。

        具体的sql设计就是删除id不是咱们查询出来的id,但是name值是咱们查询出来的值,因为咱们的数据不是一条,所以得经过程序处理,把所有的id用逗号拼接起来,name值用引号和逗号处理下,完事就可以进行使用了,示例呢就在下方:

    delete from sentence where id not in(1,2,3) and name in('a','b','c')

        如果数据过多的话,咱们可以写成脚本,完事再进行分批次操作。嘿嘿,到了这里,咱们就可以进行去除重复项的操作了,但是这个速度么,始终是个困扰。接下来咱们就要考虑如何来优化这个sql,让它的速度上去,就算是大功告成了。

        既然是提升咱们sql的运行速度,按照常理来讲,首先应该想到的那就是索引。好呗,废话不多说,咱们先建立索引。但是给那个字段建立所以呢???这又是个问题了。

        这个原则上是在你name字段可以加以区分的字段上建立的。比如,我的name字段里面储存的是一条条的品牌名称,然后呢,我有一个industry字段是来存储每个品牌的行业的,所以我就在我的industry字段上建立了索引。当然,还有更加合适的,这个就看大家咋考虑了。废话不多说,咱直接来看看我们优化后的sql:

    select id,`name`,count(*) as count from sentence where industry = '饮品' group by `name` having count>1

        运行结果如下:


        结果说明啥,说明咱们的索引有在使用哦。。。那速度,咱不说各位看官应该也了解。完事咱们就可以再用程序把所有的id用逗号拼接起来,name值用引号和逗号处理下,完事就可以进行那个去除重复项的大业了。效率明显上升啊。。。

        不过有的看官可能用的条件里面含有like等会使索引失效的条件,那咱们还可以,把数据简单分类,完事分别检测每个分类的数据,全部查询出来后,可以使用程序来检查重复项,并且取出删除所需要的数据。

        好啦,本次分享就到这里了。如果感觉不错的话,请多多点赞支持哦。。。

    展开全文
  • 利用易语言数据结构去除重复项源码
  • 只有全力以赴,梦想才能起飞。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 295,809
精华内容 118,323
关键字:

删除重复项后怎样恢复数据