python 列表去除相邻重复相等数据(只保留一个)

In [1]: import itertoolsIn [2]: a=[0, 1, 3, 2, 4, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 16, 17, 18, 18, 19, 20, 20, 21, 22, 22, 22, 23, 23, 23, 26, 29, 29, 30, 32, 33, 34, 32, 32, 15, 24]In [3]: b=[k for k, _ in itertools.groupby(a)]In [4]: print(b)
[0, 1, 3, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 29, 30, 32, 33, 34, 32, 15, 24]

python 列表找到相邻元素相同的元素值

(理解了 m=a[1:] n=a[:-1] 得到的就是要比较的前后数据之后,你就可以轻松地做玩转相邻元素啦)

In [22]: import numpy as npIn [23]: a=[0, 1, 3, 2, 4, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 16, 17, 18, 18, 19, 20, 20, 21, 22, 22, 22, 23, 23, 23, 26, 29, 29, 30, 32, 33, 34, 32, 32, 15, 24]In [24]: m=a[1:]In [25]: n=a[:-1]In [26]: len(a)
Out[26]: 41In [27]: len(m)
Out[27]: 40In [28]: len(n)
Out[28]: 40In [29]: c=[i[0]==i[1] for i in zip(m, n)]In [30]: print(c)
[False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, True, True, False, True, True, False, False, True, False, False, False, False, False, True, False, False]In [31]: d=np.array(a[:-1])[c]In [32]: print(d)
[ 4 16 18 20 22 22 23 23 29 32]In [33]: result = list(set(d))In [34]: result
Out[34]: [32, 4, 16, 18, 20, 22, 23, 29]

也可以用以下的方法比较出相邻元素是否相等,即求出上面的变量 c,然后再执行后面的步骤

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [35]: import operatorIn [36]: import itertoolsIn [37]: c2=list(map(operator.eq, a, itertools.islice(a, 1, None)))In [38]: print(c2)
[False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, True, True, False, True, True, False, False, True, False, False, False, False, False, True, False, False]In [39]: c==c2
Out[39]: True

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web

python 比较列表相邻元素(找相同或去重)相关推荐

  1. Python去除列表中元素的前后空格和换行

    Python去除列表中元素的前后空格和换行 一行代码搞定: p = [x.strip() for x in square if x.strip() != ''] #square是列表

  2. python统计列表中元素个数_python中计算一个列表中连续相同的元素个数方法

    python中计算一个列表中连续相同的元素个数方法 最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现 ...

  3. python 判断列表所有元素是否为某个值_这应该是最详细的Python入门基础语法总结!...

    这应该是最详细的Python入门基础语法总结! 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输 ...

  4. python查看列表有多少元素_python 统计列表中元素的数量

    一.统计列表中不同元素的个数 这个需求是统计列表中不同元素有几个,由于列表是允许存在重复元素的,但是集合却不允许存在重复元素,所以可以将list转换为set,然后求长度. list=[1,2,1,2, ...

  5. python的列表与元素基本操作

    1.运用索引方式查找元素的数据 代码编写: verse = ["圣安东尼奥马刺","洛杉矶湖人","休斯顿火箭","金州勇士&qu ...

  6. python中列表的元素是什么数据类型_python基本数据类型之列表和元组(一)

    python基本数据类型之列表与元组(一) python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且 ...

  7. python列表元素为中文_python入门基础教程之Python list列表修改元素

    python提供了两种修改列表(list)元素的方法,你可以每次修改单个元素,也可以每次修改一组元素(多个). 修改单个元素 修改单个元素非常简单,直接对元素赋值即可.请看下面的例子: nums = ...

  8. Python list列表删除元素(4种方法)

    文章目录 Python list列表 del:根据索引值删除元素 pop():根据索引值删除元素 remove():根据元素值进行删除 clear():删除列表所有元素 Python list列表 在 ...

  9. 4.4 Python list列表删除元素(4种方法

    在 Python 列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法: 根据元素本身的值进行删除,可使用列表(list类型)提 ...

最新文章

  1. python夹角余弦雷达图_性能可靠,可以全方位扫描的“千里眼”——先进的相控阵雷达...
  2. linux下交叉编译libusb的方法及编译一个使用了libusb库的test程序的方法
  3. 工时单位天与人天的区别?
  4. python库之numpy
  5. LeetCode —— 897. 递增顺序查找树(Python)
  6. 与Android数据库一起工作
  7. python文档字符串格式_Python字符串及文本模式方法详解
  8. 如何让Windows 只显示某些文件扩展名
  9. java线性表多个属性_顺序存储结构的线性表(java实现)
  10. 游戏王ygocore项目解析
  11. Win10安装Git并配置
  12. Google Chrome谷歌浏览器去掉右上角更新提示图标
  13. 搜索效果和搜索动画效果
  14. 个人理财类书籍推荐 -- From一亩三分地 帖子
  15. 幻读与不可重复读区别
  16. 【C++】const与指针
  17. 【面向对象应用~.~】——项目开发团队分配管理软件
  18. a标签下载图片及js执行下载图片
  19. 数据表分区策略及实现
  20. (转)大型网站的负载均衡器、db proxy和db

热门文章

  1. centos7安装单节点mysql(源码包安装)
  2. oracle数值类型--LOB+ROWID/UROWID
  3. 人脸识别大规模爆发!
  4. 《中国人工智能学会通讯》——1.27 智能助手的核心价值
  5. 邓侃:深度强化学习“深”在哪里?
  6. Java高级-线程同步lock与unlock使用
  7. 安全实现Linux网络监控(1)
  8. [转]C语言茶余饭后之if...else PK switch...case
  9. nginx配置文件防盗链
  10. win10停止更新_新电脑到手第一件事,win10系统刷成win7,为何不直接预装win7?