Python针对字符串进行去重和排序,for循环、列式推导法、set

2023-11-20

第一种方法for循环

首先针对与字符串的去重可以用到for循环去重,然后再把for循环之后的字符串变成数组,最后再用sort进行排序

s='aabbccdd'
bb=''
for i in s:
    if i not in bb:
        bb+=i
        l=list(bb)
        l.sort()
        bb=''.join(l)
print(bb)

sort默认是升序,如果想要降序显示可以用reverse=True

  l.sort(reverse=True)

第二种方法就是列式推导法

因为append进行插入主要是针对于列表所以不能用字符串来定义bba对象,必需以列表形式,获得去重后的结果再用sort进行排序后通过join再转化成字符串的形式

s='aabbccdd'
bba=[]
[bba.append(i) for i in s if i not in bba ]
bba.sort()
bbc=''.join(bba)
print(bbc)

第三种方法是用set

set去重主要是针对于列表,如果不用list将字符串转化成列表的话就会报错

AttributeError: 'set' object has no attribute 'sort'

所以需要用list将字符串转换成列表也就是,最后转换完成之后还是用join将列表变成字符串即可

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

Python针对字符串进行去重和排序,for循环、列式推导法、set 的相关文章

随机推荐

  • C++ 子类继承父类 之 构造函数

    C 子类继承父类 之 构造函数 前面常写点java的代码 对于C 基本的一些概念很模糊了 就当写个小笔记 之后遇到问题肯定还要补充 主要内容 a 子类继承父类写法 b 子类继承父类的构造函数 创建父类F h cpp view plain c
  • Java中Collections类详细用法

    1 sort Collection 方法的使用 含义 对集合进行排序 例 对已知集合c进行排序 public class Practice public static void main String args List c new Arr
  • 游戏开发物理引擎PhysX研究系列:深入学习方法思考

    无论是google还是百度 对于PhysX相关介绍实在是太少了 目前个人感受是最好通过Unity的物理相关设置来猜测PhysX相关接口的细节原理 光看c 代码去理解时 速度不是很快 有时候效果也不一定对的上
  • maven deploy plugin_Maven插件

    在默认的maven工程内默认使用的JDK1 5的版本 将JDK也看成一个项目进行处理 设置JDK的版本保证当前的IDE集成了设置Maven需要的JDK版本 修改JDK版本的方式是在项目的pom文件内使用build标签进行插件的配置 标签 b
  • DA14585 读取 SHT30温度计;

    user sht30 c file user i2c c brief user i2c source file Copyright 2018 Dialog Semiconductor This computer program or com
  • 常见电路-SD卡

    一 SD速率 低速SDIO下 速率达到0 400KHz 全速SDIO下 速率达到100MHz 本人用的SanDisk SD卡 软件设置速率16M 二 SD电路 原理图 网上有人说上拉电阻 最低10K 最高50K 没有试验过 我常用的是San
  • 变频器典型电路原理图文分析,了解变频器的内在。进线端用RST表示ABC三相,出线端用UVW表示ABC三相。应该只是相邻的字母表示三相,没有具体的物理意义

    变频器典型电路原理图文分析 了解变频器的内在 要想做好变频器维修 当然了解变频器基础知识是相当重要的 也是迫不及待的 下面我们就来分享一下变频器维修基础知识 大家看完后 如果有不正确地方 望您指正 如果觉得还行支持一下 给我一些鼓动 可以简
  • Python人脸识别黑科技(一):50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识

    Python黑科技 50行代码运用Python OpenCV实现人脸追踪 详细教程 快速入门 图像识 本篇文章我们来讲一下关于AI相关的人脸追踪 人脸识别相关的一些知识 当然本篇教程为 上 部分 讲一下利用python opencv来实现人
  • java中Keytool的使用总结

    java中Keytool的使用总结 2011 02 26 15 30 15 分类 在申请Android Map API Key的时候使用到了java中Keytool 下面转一篇介绍java中Keytool的文章 http blog csdn
  • 每日一题分享

    数字以 0123456789101112131415 的格式作为一个字符序列 在这个序列中第 2 位 从下标 0 开始计算 是 2 第 10 位是 1 第 13 位是 1 以此类题 请你输出第 n 位对应的数字 分析 0 9 共10个 10
  • 数据缺失类型:MCAR、MAR、MNAR

    2022 01 23 1 Missing Completely at Random MCAR 2 Missing at Random MAR 3 Missing Not at Random MNAR 参考 AI for Medical Pr
  • R语言实现推荐系统

    目录 1 理论基础 1 1 推荐系统 1 2 R语言 2 数据准备 2 1 数据获取 2 2 数据读取
  • SAP MASS 扩展物料的仓库管理视图

    SAP MASS 扩展物料的仓库管理视图 执行事务代码 MASS 进入如下界面 Object Type BUS1002 Materials industry 执行 进入如下界面 选中 Material Data for Each Wareh
  • markdown 添加视频、音频、gif

    参考 http blog fandong me 2017 08 25 Markdown Advance https www cnblogs com GuliGugaLiz p 10237929 html 1 在markdown里 添加 gi
  • Vue与TypeScript的完美结合

    前言 TypeScript 是 JS类型的超集 并支持了泛型 类型 命名空间 枚举等特性 弥补了 JS 在大型应用开发中的不足 在我们自己单独学习 TS时 时常感觉很多知识点还是比较好理解的 但要和框架结合的话 感觉就有点糟 因为我使用Vu
  • 记录SpringBoot重构自己网站后端的过程以及技术总结

    基础目录 一 新建项目 1 初始创建 2 SpringMVC的一些细节 1 简单接口的实现 2 读取传值的方法 3 Model 和 ModelAndView 二 整合Mybatis 1 初始化 2 重要的建议 3 模型类 4 新建mappe
  • Java从入门到实战总结-3.8、Java枚举、注解、反射、内省

    Java从入门到实战总结 3 8 Java枚举 注解 反射 内省 文章目录 Java从入门到实战总结 3 8 Java枚举 注解 反射 内省 1 枚举 1 枚举概述 2 定义格式 3 枚举类的主要方法 4 实现接口的枚举类 5 枚举注意事项
  • Nginx 反向代理配置

    一 准备工作 Linux系统安装Tomcat 使用默认端口8080 启动Tomcat服务器 可以正常访问 接下来想要通过Nginx反向代理 转发请求到Tomcat服务器 对外暴露的是Nginx反向代理服务器的端口号 而Tomcat不对外暴露
  • VS2008开发程序打包详解

    Winfrom 打包程序 vs2008版本 1 新建安装部署项目打开VS 点击新建项目 选择 其他项目类型 gt 安装与部署 gt 安装向导 安装项目也一样 然后点击确定 详细见下图 此主题相关图片如下 在解决方案处选择 添入解决方案 2
  • Python针对字符串进行去重和排序,for循环、列式推导法、set

    Python针对字符串进行去重和排序 第一种方法for循环 第二种方法就是列式推导法 第三种方法是用set 第一种方法for循环 首先针对与字符串的去重可以用到for循环去重 然后再把for循环之后的字符串变成数组 最后再用sort进行排序