方法一


代码

list1 = [1, 1, 1, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9, 9]
list2 = []
list3 = []
print('len(list)', len(list1))for i in range(len(list1)):if i != len(list1) - 1:if list1[i] not in list2:  #如果列表1的元素不在列表2中list2.append(list1[i])list3.append(i)if list1[i] != list1[i + 1]:list2.append(list1[i])list3.append(i)elif (i == len(list1) - 1):print('---')list2.append(list1[i])list3.append(i)
print('原始list:', list1)
print('去重后只保留2个重复值的结果:', list2)
print('每段重复值的终起点索引:', list3)

运行

方法二

代码

origin_list = [0, 0, 0, 1, 1, 2, 3, 3, 3, 2, 3, 3, 3, 3, 0, 0]def list_group_to_sequence_index(origin_list):group_list = [[]]group_list[-1].append(origin_list[0])for w, r in enumerate(origin_list):try:if origin_list[w] == origin_list[w + 1]:group_list[-1].append(origin_list[w +1])  #前面一个数跟后面一个数相同时,则添加进去else:  #前面一个数跟后面一个数不同时,则添加[]再加进去group_list.append([])group_list[-1].append(origin_list[w + 1])except:passtemp_list = 0group_index_list = [[]]for bnk, wto in enumerate(group_list):try:temp_list = temp_list + len(wto)  #len(wto) 计算每组相同数多少个D = (temp_list - len(wto))E = (temp_list - 1)group_index_list[-1].append(D)group_index_list[-1].append(E)group_index_list.append([])except:passreturn group_list, group_index_list[0:-1]result = list_group_to_sequence_index(origin_list)
print(result[0])
print(result[1])

运行

list中去除连续重复的值并保留头尾2个和头尾2个值在原list中的索引相关推荐

  1. 正则表达式去除连续重复的字符

    如下字符串: abcdeeeddsssddaacc,,,bbbbbbHelllllllowwwworrrrlllld 修改为: abcdeddsddaacc,bbHellloworld 即:相同的字符 ...

  2. 字符串中去除连续相同的字符保留一个

    直接上例子,即SQL语法: DECLARE @Text NVARCHAR(MAX) = N'192------168-0--------101----34--96'WHILE (CHARINDEX(' ...

  3. SQL 按照两个字段去除列重复的数据,保留一行。

    首先创建一个例子要用的表 CREATE TABLE [dbo].[as1] ( [id] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL, [a] [nchar ...

  4. php消除连续字符,JS字符串去除连续或全部重复字符的实例

    这篇文章主要介绍了JS字符串去除连续或全部重复字符的实例,需要的朋友可以参考下 js字符串去除连续重复字符 ()和\number 配合使用表示重复正则第number个括号内匹配到的内容,如:(\d)\ ...

  5. 关于Java实现去除连续空格的延伸

    第一篇随笔,技术含量比较低,当做笔记给自己记录一下现阶段的一次学习.(*^__^*) -- Java中去除连续空格的代码很简单: public static String formatString(S ...

  6. Leetcode刷题100天(阿里云周赛)—查找数组中的所有重复项(哈希)—day42

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 描述 给定一个整数数组,1 ≤ a[i] ≤ n(n = 数组的大小),一些元素出现两次,其他元素出现一次. 找到在此数组中出现两次的所有元素. 示例 ...

  7. ArrayList去除集合中字符串的重复值

    /* * 需求:ArrayList去除集合中字符串的重复值 * * 分析: * 1.创建一个集合对象 * 2.添加多个字符串元素 * 3.创建一个新的集合 * 4.拿旧集合中的元素到新集合中去找 * ...

  8. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  9. es6去除重复项_javascript在ES6中从数组中筛选出重复项并仅返回唯一值

    这是从数组中筛选出重复项并仅返回唯一值的三种方法.我最喜欢的是使用Set,因为它是最短和最简单的. 1.使用Set 首先让我解释一下Set:Set是ES6中引入的新数据对象.因为Set仅允许您存储唯一 ...

最新文章

  1. SharePoint 2007 迁移所有数据库
  2. App5.0程序导入及发布
  3. 深入浅出讲解MSE Nacos 2.0新特性
  4. ghost linux 全盘拷贝,如何用ghost实现小硬盘对大硬盘的全盘拷贝?
  5. boss直聘用什么语言开发_我不在乎开发人员使用什么工具。 我根据基本原则聘用。...
  6. 【转载 待读】卷积神经网络
  7. 牛客 2021年度训练联盟热身训练赛第二场 C题Tip to be Palindrome
  8. 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
  9. Linux内核编程入门hello,world!
  10. Echarts 柱形图最全详解
  11. 英语句子划分表示符号使用规则
  12. “symbol lookup error”
  13. python bytes类型中是ascii码_Python3 中bytes数据类型深入理解(ASCII码对照表)
  14. 前端代码动态生成 审批流程图、流程图
  15. ANSYS APDL学习(3):ANSYS APDL 导入x_t格式模型并受力分析范例
  16. 计算机考试320034,联想一体机可以用作显示器吗?
  17. mysql测试题蔡铜_MySQL:测试题
  18. 前端技能树,面试复习第 19 天—— React 基础一点通
  19. nagios 安装部署试验
  20. 全透视:CSS Z-index 属性

热门文章

  1. linux定时器tinner,第三章 套接字相关数据结构--基于Linux3.10
  2. android对错图标,Android Studio Gradle图标错误,清单合并
  3. Day5 - 前端高频面试题之计算机网络相关
  4. 小程序弹框出现,底部页面也跟随滚动
  5. electron 前端开发桌面应用
  6. Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)(转载)
  7. 北京大学数学科学学院2006/9/20声明:坚持真理、追求卓越zz
  8. 在.NET环境中实现每日构建(Daily Build)--ccnet,MSBuild篇
  9. java制作网站的原理_代码生成器原理
  10. 初学者python笔记(文件的操作)