假设我有一个非常长的字符串,如’ABCEEEEEEDEDAAA ……’,但它只有五个字母组成.假设我希望所有’A’都是’D’,反之亦然,和’B’和’C’相同(例如DNA中的核苷酸……).修改后的例子是’DCBEEEEEEAEADDD …….我意识到像string.replace(‘A’,’D’)这样的代码.替换(‘D’,’A’)就行不通了.我想知道什么是最快的方法,因为我遇到的另一种方法就是找到每个索引,看起来有点复杂.

解决方法:

使用缩短版本样本的示例,其中’A’ – >’D’,’D’ – >’A’,’B’ – >’C’,’C’ – >’B’

>>> s = 'ABCEEEEEEDEDAAA'

>>> orig = 'ABCD'

>>> rep = 'DCBA'

>>> trans_table = str.maketrans(orig,rep)

>>> s.translate(trans_table)

=> 'DCBEEEEEEAEADDD'

另一种方法是使用str.replace函数,但是对于相同的功能需要更多的代码行.可以使用临时占位符进行替换.

示例:假设只是’A’ – >’B’和’B’ – >’A’

>>> s = 'ABBA'

>>> s = s.replace('A','$')

#'$BB$'

>>> s = s.replace('B','A')

#'$AA$'

>>> s = s.replace('$','B')

>>> s

=> 'BAAB'

这里$用作占位符.如您所见,这对于需要大量更换而言变得令人厌烦.

注意:在上面的方法中,占位符也应该是唯一的,并且不应该已经存在于字符串中.

标签:python,python-3-x

来源: https://codeday.me/bug/20190727/1550824.html

python如何互换两个字母_python – 通过交换多个字母来修改字符串相关推荐

  1. python除法保留两位小数_Python对小数进行除法运算的正确方法示例

    Python对小数进行除法运算的正确方法示例 求一个算式 代码如下: a=1 b=2 c=3 print c*(a/b) 运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得出整 ...

  2. python注释的两种类型_python 基础-注释-数据类型-变量要求-

    python2与python3的区别( 如有错误,欢迎指点,不断的学习,会不断更新) python定位:优雅.简单.明确 宏观上 python2:源码重复率高,不规范 语言分:编译型.解释型 编译型: ...

  3. python浮点数保留两位小数_python中保留两位小数怎么表示

    这里有三种方法, round(a,2) '%.2f' % a Decimal('5.000').quantize(Decimal('0.00')) 当需要输出的结果要求有两位小数的时候,字符串形式的: ...

  4. python如何互换两个字母_python去除拼音声调字母,替换为字母的方法

    第一种方法 import sys import unicodedata s = "Lǐ Zhōu Wú" remap = { # ord返回ascii值 ord('\t'): '' ...

  5. python怎么画两幅图_python matplotlib模块: Subplots(在同一个figure里绘制多个图)

    我们使用subplot可以实现在同一个figure对象下绘制多个图像:figure对象: image.png 每一个这样的图都包含唯一一个figure对象,而一个figure对象里面可以包含多个axe ...

  6. python集合的两种类型_python 入门之 – 集合类型(十九)

    在python中,集合是一个无序的,不重复的数据组合,他的主要工作如下: 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之间的交集.差集.并集等关系 我来举个例子,前两个月出了 ...

  7. python 获取向上两级路径_Python学习第171课--相对路径和绝对路径

    [每天几分钟,从零入门python编程的世界!] 这节我们补充2个概念:相对路径和绝对路径. ●绝对路径 就像一棵大树一样,从它的根开始,往上会有大的枝干,在大的枝干上面又会有小一点的树枝,小树枝上面 ...

  8. python判断是不是字母_python判断字符是否为字母和数字

    在使用python语言中的字符串方法时,可以使用它们判断字符串中是否有字母或数字或其他的构成.下面利用几个实例说明字符串方法的用法,操作如下:python学习网,大量的免费python视频教程,欢迎在 ...

  9. python文件包括两种类型_python第六篇文件处理类型

    阅读目录 文件处理 上节课复习 文件处理b模式 文件处理其他模式 seek 的补充 迭代器和生成器 生成器函数 生产者和消费者类型 19天作业讲解 一 文件操作 一 介绍 计算机系统分为:计算机硬件, ...

最新文章

  1. 洛谷——P2035 iCow
  2. Linux 内核阅读工具vim+ctags+cscope+taglist
  3. CSDN博客的安全性为什么一直如此薄弱?
  4. jquery ajax html方法吗,jQuery ajax方法
  5. 剑指offer之打印链表的倒数第N个节点的值
  6. Hystrix简介–总结
  7. mysql 中varchar_MYSQL中VARCHAR和CHAR类型
  8. CSS 文本装饰 text-decoration属性
  9. [转]UINavigationController的用法详解
  10. 如何使用jQuery将事件附加到动态HTML元素? [重复]
  11. Linux系统中用DNW向ARM开发板下载程序
  12. 【Spring-IOC】依赖注入
  13. 饮冰三年-人工智能-Python-11之HelloWorld
  14. win10系统打开tftp服务器,win10设置tftp服务器配置
  15. 一款简约大气的PHP短网址系统程序源码
  16. ubuntu resolution
  17. 华为云服务器配置教程
  18. python web py入门-7-响应处理(下)
  19. Java获取两个日期之间的工作日天数
  20. Python--进程池与线程池

热门文章

  1. 【苹果cms10 Maccmsv10 站群深度定制版 开发日志】 新增日志模块
  2. @Select的使用说明
  3. 【Pyhton】随机漫步散点图
  4. 【C语言】复合函数求值
  5. 【C语言】输入一个字符串,并对字符串中的偶数位置的字符按从小到大的顺序排序,奇数位置的字符不动,输出排序后的结果...
  6. 了解如何使用ASP.NET Core 3.1构建Web应用程序
  7. python 添加数据库表_通过时间表(Python库)简化复杂的计划
  8. 全球最大的市场在_我如何扩展全球最大的音乐工作室市场
  9. 数据可视化怎么完成的_完成期望后会发生什么:可视化育儿数据
  10. 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView...