Python删除字符串中连续重复字符,保留所有去重后字符

2023-11-12

看了很多攻略,但都是全部去除字符串中所有的重复字符或者全部去除字符串所有相邻的重复字符,如果希望得到字符串中相邻字符去重后的全部字符,比如字符串a=‘abbcccd222aaabbbddfff6e’,去重后能得到’abcd2abdf6e’,那可以参考以下代码。

一、普通字符串中的去重

'''字符串a='abbcccd222aaabbbddfff6e',去重后得到'abcd2abdf6e'。'''
a='abbcccd222aaabbbddfff6e'
qc=[]  #建立一个空列表
 #建立一个循环,依次取出字符串中的元素,判定后重新组合
for i in a:
    if len(qc)==0:
        qc.append(i)  #将字符串第1个元素放进去
    else:
        if i==qc[-1]:  # 判断是否与列表最后一个元素相同
            continue  # 相同则不做任何处理
        else:
            qc.append(i)  #不同就添加到列表中
print(qc)
print(''.join(qc))

二、Dataframe中某列内容的去重

如果对名为“df”的dataframe中的字段“A”进行该去重,得到“A2”列,则需要将该段代码包装成函数,再通过lambda函数带进去。

#定义去重函数“quchong”
def quchong(x):
    qc=[]
    for i in x:
        if len(qc)==0:
            qc.append(i)  #将字符串第1个元素放进去
        else:
            if i==qc[-1]:   # 判断是否与列表最后一个元素相同
                continue  # 相同则不做任何处理
            else:
                qc.append(i)   #不同就添加到列表中
    return ''.join(qc)
#用lambda函数应用到列“A”,得到去重后的“A2”列
df['A2'] = df.apply(lambda x : quchong(x['A']),axis = 1)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python删除字符串中连续重复字符,保留所有去重后字符 的相关文章

随机推荐

  • springboot 启动异常Input length = 1解决

    问题原因是yml配置文件内容引起 并且yml内容没问题 空格也没问题 而是编码问题引起 在idea中打开settings gt Editor gt File Econdings 设置yml为UTF 8 如果还是启动失败 解决方法 将yml内
  • 一个合格(优秀)的前端都应该阅读这些文章

    的确 有些标题党了 起因是微信群里 有哥们问我 你是怎么学习前端的呢 能不能共享一下学习方法 一句话也挺触动我的 我真的不算是什么大佬 对于学习前端知识 我也不能说是掌握了什么捷径 当然 我个人的学习方法这篇文章已经在写了 预计这周末会在我
  • The overload Pattern

    最近研究有关C 17的书和博客文章时 偶然发现了这种访问模式std variant 使用overload模式 您可以 访问 提供单独的lambda include
  • 如何查看端口占用

    1 Win R 打开 运行 在 运行 中输入cmd 然后按电脑的回车进入命令行 2 输入命令 netstat ano 即可查出所有的端口占用信息 3 netstat ano findstr 端口 可查看具体的端口占用信息 4 查看有效会话
  • 关于B/S结构系统的会话机制(session机制)

    关于B S结构系统的会话机制 session机制 什么是会话 用户打开浏览器 进行一系列操作 最后关闭浏览器 这个整个过程叫做一次会话 真正意义上 会话是session对象的创建到结束的过程 一个session对应一个会话 在服务器端有一个
  • 虚拟机如何进行备份和迁移?

    文章目录 一 虚拟机的备份 方式一 使用VMvare自带的克隆功能 方式二 手动复制 二 虚拟机的迁移 本文以Ubuntu18 04为例 使用的工具是VMware Workstation 16 Pro 即VMware 最新版 Ubuntu1
  • 谷歌直链下载云盘数据集,使用谷歌云盘生成直接下载的url,示例: NeRFStudio-nerfacto默认训练数据集poster下载,nerfstudio 数据集下载链接

    1 如何生成谷歌直链下载云盘数据集的url 谷歌云盘 NeRFStudio nerfacto默认训练数据集poster下载链接 https drive google com uc export download confirm id 1dm
  • 差分与微分

    差分与微分 差分和微分都是数学中的一些基本概念 它们在数学 物理学 经济学和其他领域中都有广泛的应用 1 差分 差分可以理解为函数值之间的差别 特别地 如果一个函数 f f f 在两个相邻点 x 0
  • 【Qt教程】2.6 - Qt5 自定义控件封装

    自定义控件是将原有控件组合 封装 并填入自定义功能 留出适当的函数接口 方便其他控件的调用 设计窗口时 可以将控件拖入 方便模块化设计 GitHub代码仓库 Qt学习例程 1 建立工程 新建自定义控件 创建widget工程 新建控件 Add
  • 青龙面板打不开解决办法

    原因是cdn 自己修改一下就可以了 进入文件夹etc找到hosts etchosts 把这二个添加 104 16 88 20 cdn js delivr net 直接复制在最后一行 就可以解决问题了 或者 1 登陆linux 2 进入青龙容
  • alter database open resetlogs

    问题解决 先要弄清楚alter database open resetlogs是什么意思 为什么要用resetlogs打开数据库 这个命令发出后oracle都做了什么 alter database open resetlogs是要打开数据时
  • pytorch——torch.squeeze() 和torch.unsqueeze()的用法

    torch squeeze torch squeeze 这个函数主要对数据的维度进行压缩 去掉维数为1的的维度 比如是一行或者一列这种 一个一行三列 1 3 的数去掉第一个维数为一的维度之后就变成 3 行 torch squeeze a 就
  • 项目答辩PPT(一)

    以 运动APP 为例展开 1 项目整体介绍 定位和需求 在银行工作的王小姐是个健身爱好者 从制订健身计划 到约人一起跑步 再到周末预订场地和家人打一场羽毛球赛 她用一部手机轻松搞定 现在有了手机APP 运动方便多了 王小姐的运动方式是如今都
  • QT创建右键快捷菜单

    0 目标 在Qcommbobox右键出来菜单 点击BCC校验 自动算出校验值填入编辑框 1 UI界面选择Action editor 新建action 记住对象名 actionBCC 右键action 点击转到槽 选择triggered 点击
  • 指针(一)——指针与二级指针

    一 指针理解 指针是一个变量 用来存放地址的变量 指针变量 是一个变量 是指有一个存储空间 里面放的是指针 变量指针 变量的地址 指针的存在是为了方便计算机的内存管理 经过计算和权衡 我们发现 一个字节给一个地址是比较合适的 在32位的机器
  • 给wangeditor添加上标、下标功能

    我使用的wangeditor没有上标和下标功能 以下是自己添加功能的方法 1 设计功能的函数和原型 Sup menu 构造函数 function Sup editor this editor editor this elem div cla
  • 高性能MySQL实战(一):表结构

    最近因需求改动新增了一些数据库表 但是在定义表结构时 具体列属性的选择有些不知其所以然 索引的添加也有遗漏和不规范的地方 所以我打算为创建一个高性能表的过程以实战的形式写一个专题 以此来学习和巩固这些知识 1 实战 我使用的 MySQL 版
  • 【深度学习】 Python 和 NumPy 系列教程(七):Python函数

    目录 一 前言 二 实验环境 三 Python函数基础 1 定义函数 2 参数传递 3 函数调用 4 返回值 5 函数文档字符串 四 将函数存储在模块中 1 创建模块 2 导入模块 a import 模块名 b from 模块名 impor
  • github.io出现的问题及解决方案

    github io出现的问题及解决方案 个人博客 github io出现的问题及解决方案 1 你的连接不是专用连接 放假回家后打开自己的博客 发现无法打开博客 一开始以为是调样式时不小心搞坏了 打开别人的githunb io博客发现都会出问
  • Python删除字符串中连续重复字符,保留所有去重后字符

    看了很多攻略 但都是全部去除字符串中所有的重复字符或者全部去除字符串所有相邻的重复字符 如果希望得到字符串中相邻字符去重后的全部字符 比如字符串a abbcccd222aaabbbddfff6e 去重后能得到 abcd2abdf6e 那可以