首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python算法题----列表去重

有这样一个列表[1, 1, 1, 2, 3, 3, 2, 4, 3, 4, 5, 5, 5, 6, 7, 8, 9, 9, 9, 9, 10, 10], 写一个函数,将其重复元素去除。...解法一: Python的内置特性 利用python set数据结构的不重复行,转换为set,然后再转为list,一行代码搞定 def uniqList01(data=None):     return ...list(set(data)) 解法二: 遍历搜索去重添加 创建一个新列表,遍历旧的列表,先把第一个塞进新列表中,然后判断每一个元素在新列表中是否存在,不存在就塞进去。...            newdata.append(i)     return newdata 解法三: 双指针比较跳过重复 i,j两个指针分别指向第i个和第i+1个元素,比较,相等j后移,直到不等将第i个元素加到新列表

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python技巧(2)--碾平列表和列表去重

    总第 116 篇文章,本文大约 1000 字,阅读大约需要 3 分钟 今天介绍和列表相关的两个小技巧: 碾平列表(flatten list),也就是列表里的元素也带有列表的情况; 列表去重,保留原始顺序和不保留顺序的做法...列表去重 列表去重可能会破坏原有的顺序,所以下面分别介绍保留顺序和不保留顺序的做法。...去重,但改变顺序 去重但改变顺序,两种方法 方法1 就是利用 set 进行去重 l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2...方法2 是利用字典的键不重复的特性,将列表的元素作为一个字典的键,然后返回这个字典的所有键,即可实现去重的操作。...l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 去重,不改变顺序 利用 sorted 和 set 方法实现去重并保留原始顺序

    1.5K20

    【Python】对字典列表进行去重追加

    {dict4} ] M = [A,B,C] X = [] 将M去重后的字典放入列表X中,得到X = [{dict1}, {dict2},{dict3}, {dict4}] 难点 字典列表...大家可能一开始会想到使用set()函数转化为集合,自动去重。...但是集合是使用hash来计算并去重的,但是字典类型无法使用Hash计算。虽然可以使用类class或者命名元组namedtupe来替换字典,但是这次的场景是无法变更列表的产生源的。...,i为单字典列表,m为多字典列表, # 前端要求去重,这里使用函数式语句返回没有在结果列表中出现的字典,然后使用extend()追加 # 如果是面向d3,需要更改部分信息为d3适配...lambda relation: to_echarts(link=relation), relationship_list) # 为什么要用set而不是list来转化map对象: # 1.去重

    1.9K10

    Python列表去重且不改变元素顺序的代码

    Python列表去重且不改变元素顺序的方法Python列表去重,如果不考虑原来元素的顺序(基本顺序)的话,可以使用Python内置的set()函数对列表进行转换去重,然后转换会列表,这是因为set()集合本身就具备去重的功能...,但Python的集合又是无序的,因此可能会导致列表中元素原本排列顺序的改变。...这里探讨的去重方法,实际上并不是使用删除元素的方法,相反使用的是添加元素的方法,即声明一个用于最终返回的列表,用于添加该返回的列表list内没有的元素,这比删除元素要精确一些,因为如果使用原列表直接删除元素...该方法将使用for循环遍历列表,除此之外,这里还涉及到的几个方法和函数,如下:not in:用于判断元素是否在返回列表中,以判断是否是重复的元素;append():用于向返回列表添加元素;Python列表去重且不改变元素顺序的函数设计...列表去重且不改变元素顺序的函数代码设计免责声明:内容仅供参考,不保证正确性。

    20620

    Python 列表去重的4种方式及性能对比

    列表去重是Python中一种常见的处理方式,任何编程场景都可能会遇到需要列表去重的情况。 列表去重的方式有很多,本文将一一讲解他们,并进行性能的对比。...if element not in unique: unique.append(element) return unique 进入ipython使用timeit计算其去重耗时...,但正如前面所说,集合是无序的,将数组转为集合后再转为列表,就失去了原有列表的顺序。...3.保留原有数组顺序的去重 使用dict.fromkeys()函数,可以保留原有数组的顺序并去重: def save_order(): return list(dict.fromkeys(DUPLICATES...Python3.6以下的列表保留顺序去重 在Python3.6以下,其实也存在fromkeys函数,只不过它由collections提供: from collections import OrderedDict

    60120

    基于Python实现图像去重

    python图像去重(imagededup) github:https://github.com/idealo/imagededup 安装库 pip install imagededup 示例代码 from...实现图像去重(哈希算法、lshashbox、imagehash) 为了防止冗余的图片占用存储空间,我们常常需要进行图片去重操作。...Python具有丰富的图像处理库,因此Python图像去重也成为了一种流行的操作方法。...使用哈希算法进行图像去重 哈希算法是一种非常常用的去重算法,通过对图片进行哈希计算,得到一个指纹,再通过比较指纹的方式找到相似的图片。...---- 图片数据清洗,图片去重,去掉模糊图片,去掉结构性相似的图片 1、python代码去掉完全相同的图片, 重复的图片移动到另一文件夹保存 import shutil import numpy as

    1.1K30

    Java中对List去重, Stream去重

    问题 当下互联网技术成熟,越来越多的趋向去中心化、分布式、流计算,使得很多以前在数据库侧做的事情放到了Java端。今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?...你需要知道HashSet如何帮我做到去重了。换个思路,不用HashSet可以去重吗?最简单,最直接的办法不就是每次都拿着和历史数据比较,都不相同则插入队尾。而HashSet只是加速了这个过程而已。...,那么是如何去重的呢?...在本题目中,要根据id去重,那么,我们的比较依据就是id了。...回到最初的问题,之所以提这个问题是因为想要将数据库侧去重拿到Java端,那么数据量可能比较大,比如10w条。

    8.8K70
    领券