list中去除连续重复的值并保留头尾2个和头尾2个值在原list中的索引
方法一
代码
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中的索引相关推荐
- 正则表达式去除连续重复的字符
如下字符串: abcdeeeddsssddaacc,,,bbbbbbHelllllllowwwworrrrlllld 修改为: abcdeddsddaacc,bbHellloworld 即:相同的字符 ...
- 字符串中去除连续相同的字符保留一个
直接上例子,即SQL语法: DECLARE @Text NVARCHAR(MAX) = N'192------168-0--------101----34--96'WHILE (CHARINDEX(' ...
- SQL 按照两个字段去除列重复的数据,保留一行。
首先创建一个例子要用的表 CREATE TABLE [dbo].[as1] ( [id] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL, [a] [nchar ...
- php消除连续字符,JS字符串去除连续或全部重复字符的实例
这篇文章主要介绍了JS字符串去除连续或全部重复字符的实例,需要的朋友可以参考下 js字符串去除连续重复字符 ()和\number 配合使用表示重复正则第number个括号内匹配到的内容,如:(\d)\ ...
- 关于Java实现去除连续空格的延伸
第一篇随笔,技术含量比较低,当做笔记给自己记录一下现阶段的一次学习.(*^__^*) -- Java中去除连续空格的代码很简单: public static String formatString(S ...
- Leetcode刷题100天(阿里云周赛)—查找数组中的所有重复项(哈希)—day42
前言: 作者:神的孩子在歌唱 大家好,我叫运智 描述 给定一个整数数组,1 ≤ a[i] ≤ n(n = 数组的大小),一些元素出现两次,其他元素出现一次. 找到在此数组中出现两次的所有元素. 示例 ...
- ArrayList去除集合中字符串的重复值
/* * 需求:ArrayList去除集合中字符串的重复值 * * 分析: * 1.创建一个集合对象 * 2.添加多个字符串元素 * 3.创建一个新的集合 * 4.拿旧集合中的元素到新集合中去找 * ...
- 去除html重复的元素 js,js数组中去除重复值的几种方法
在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...
- es6去除重复项_javascript在ES6中从数组中筛选出重复项并仅返回唯一值
这是从数组中筛选出重复项并仅返回唯一值的三种方法.我最喜欢的是使用Set,因为它是最短和最简单的. 1.使用Set 首先让我解释一下Set:Set是ES6中引入的新数据对象.因为Set仅允许您存储唯一 ...
最新文章
- SharePoint 2007 迁移所有数据库
- App5.0程序导入及发布
- 深入浅出讲解MSE Nacos 2.0新特性
- ghost linux 全盘拷贝,如何用ghost实现小硬盘对大硬盘的全盘拷贝?
- boss直聘用什么语言开发_我不在乎开发人员使用什么工具。 我根据基本原则聘用。...
- 【转载 待读】卷积神经网络
- 牛客 2021年度训练联盟热身训练赛第二场 C题Tip to be Palindrome
- 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
- Linux内核编程入门hello,world!
- Echarts 柱形图最全详解
- 英语句子划分表示符号使用规则
- “symbol lookup error”
- python bytes类型中是ascii码_Python3 中bytes数据类型深入理解(ASCII码对照表)
- 前端代码动态生成 审批流程图、流程图
- ANSYS APDL学习(3):ANSYS APDL 导入x_t格式模型并受力分析范例
- 计算机考试320034,联想一体机可以用作显示器吗?
- mysql测试题蔡铜_MySQL:测试题
- 前端技能树,面试复习第 19 天—— React 基础一点通
- nagios 安装部署试验
- 全透视:CSS Z-index 属性
热门文章
- linux定时器tinner,第三章 套接字相关数据结构--基于Linux3.10
- android对错图标,Android Studio Gradle图标错误,清单合并
- Day5 - 前端高频面试题之计算机网络相关
- 小程序弹框出现,底部页面也跟随滚动
- electron 前端开发桌面应用
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)(转载)
- 北京大学数学科学学院2006/9/20声明:坚持真理、追求卓越zz
- 在.NET环境中实现每日构建(Daily Build)--ccnet,MSBuild篇
- java制作网站的原理_代码生成器原理
- 初学者python笔记(文件的操作)