python集合去重_python集合去重
[python中对list去重的多种方法
怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢?
1.以下的几种情况结果是一样的,去重之后顺序会改变:
i = [1,2,3,3,4,2,3,4,5,6,1]
news_i= []
for id in i:
if id not in news_i:
news_i.append(id)
print news_i
或用set
i= [1,4,3,3,4,2,3,4,5,6,1]
i= list(set(ids))
或使用itertools.grouby
import itertools
i = [1,4,3,3,4,2,3,4,5,6,1]
i.sort()
it = itertools.groupby(i)
for k, g in it:
print k
In [5]: i = [1,4,3,3,4,2,3,4,5,6,1]
In [6]: func = lambda x,y:x if y in x else x + [y]
In [7]: reduce(func, [[], ] + i)
Out[7]: [1, 4, 3, 2, 5, 6]
其中的 lambda x,y:x if y in x else x + [y] 等价于 lambda x,y: y in x and x or x+[y] 。
思路其实就是先把i变为[[], 1,4,3,......] ,然后在利用reduce的特性.
去列表去重,不改变原来的顺序,还可以使用一个空列表把原列表里面不重复的数据"装起来",例如:
list2 = []
list1 = [1,2,3,2,2,2,4,6,5]
for i in list1:
if i not in list2:
list2.append(i)
list2
[1, 2, 3, 4, 6, 5]
或者使用删除元素索引的方法对列表去重,并且不改变原列表的顺序
# python for删除的时候会往前移(垃圾回收机制),未遍历到的后一个占了前一个被删除的"位置",导致这个数不会被遍历到,而使最后的结果错误
# 局部变量在栈内存中存在,当for循环语句结束,那么变量会及时被gc(垃圾回收器)及时的释放掉,不浪费空间;
# 如果使用循环之后还想去访问循环语句中控制那个变量,使用while循环。
# 所以使用while循环删除nums中的Val(的下标)
nums = [1,2,3,3,4,2,3,4,5,6,1]
val = 3
while val in nums:
nums.pop(nums.index(val))
print nums
return len(nums)
python集合去重_python集合去重相关推荐
- [转载] python创建集合set()_Python 集合set()
参考链接: Python set集合 | difference 创建 # 创建空集合 set() # 创建集合,参数必须为 iterable set(it) set(dict) # 只取dict.ke ...
- python创建集合set()_Python 集合set
可变集合set 集合set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种.类似于其他语言,集合是一个无序不重复元素集,包括创建集合set.向集合中添加 ...
- python中集合运算_python集合运算
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 每个韦恩(venn)图中的红色部分是给定集合运算得到的结果.? python 集 ...
- python集合运算符_Python 集合、字典、运算符
先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的.(注意:python3.7.0开始字典变成&quo ...
- python集合常用方法_Python 集合常用方法总结
数据类型:int/str/bool/list/dict/tuple/float/set (set类型天生去重) 一.集合的定义 s = set() #定义空集合 s = {'a','b','c','d ...
- python集合类型_python集合类型介绍
我们在学习数学的时候学过集合这个概念,在Python中同样存在一种名叫集合的数据类型,它也是用来保存不重复的元素,简单的说,集合就是包含了一些唯一存在的元素. 元素有以下几个特性: 1) 无序性,集合 ...
- python集合运算_Python 集合set()添加删除、交集、并集、集合操作详解
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...
- python集合用法_Python 集合(Set)
集合 集合是无序.无索引的数据集.在Python中,集合用花括号包裹. 示例 创建集合: thisset = {"自行车", "汽车", "高铁&qu ...
- python的集合类型_python集合类型
集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...
最新文章
- linux中光标向上调一行命令,Linux vi 中移动光标 命令
- Altium Designer 18/AD 设置禁止布线层和铜皮或者其他线之间的间距
- eclipse svn不能忽略文件及文件夹,ignore设置无效 ?
- 菜鸟教程android布局,Android菜鸟级教程
- CVPR 2021 最佳论文!对抗神经网络GAN解决3D场景难题
- python list删除元素速度慢_python list(python list删除元素是要注意的坑点)
- 百度SDN实践与思考
- 汉王考勤管理系统使用教程
- 公众号网课答案查询系统
- ecilpse写html图片,eclipse怎么导入图片
- html touch时没有阴影,4399touch怎么玩 Touch游戏常见问题汇总
- 地下城堡游戏小脚本儿——自动炼金
- 怎样上android官方下载,【图文教程】如何安装 iOS/Android(安卓)触动精灵?
- bert系列第一篇: bert进行embedding
- class io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe
- 混淆利器proguard的用法
- windows下载安装opencv
- 计算机 医学 sci,医学、计算机与图像处理,免版面费的“研究生之友”SCI论文期刊...
- 5分钟带你了解python中超级好用的库 you-get
- 推荐一款免费又好用的报表工具
热门文章
- (vue基础试炼_07)Vue实例生命周期函数
- swiper轮播插件的使用
- 单一窗口关区备案_深圳跨境电商企业进出口备案,赶紧码下学习
- 如何用Java代码解析json
- eclipse把tomcant用到一个项目里_聊一个镜头工艺里容易被忽略,但很重要的项目...
- java写入数组_如何在Java中将数组写入outputStream
- kmeans python_k-means python实践
- collector list 多个分组_【S01E07】groupby方法、GroupBy对象、groupby方法的分组键
- php写好程序后需要嵌套,什么是PHP嵌套函数?
- html文件设置断点调试,断点调试