python – 通过交换多个字母来修改字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 通过交换多个字母来修改字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1083字,纯文字阅读大概需要2分钟。
内容图文
假设我有一个非常长的字符串,如’ABCEEEEEEDEDAAA ……’,但它只有五个字母组成.假设我希望所有’A’都是’D’,反之亦然,和’B’和’C’相同(例如DNA中的核苷酸……).修改后的例子是’DCBEEEEEEAEADDD …….我意识到像string.replace(‘A’,’D’)这样的代码.替换(‘D’,’A’)就行不通了.我想知道什么是最快的方法,因为我遇到的另一种方法就是找到每个索引,看起来有点复杂.
解决方法:
由于要求是多次替换,因此最好先使用str.maketranslate()创建映射表来使用str.translate().
使用缩短版本样本的示例,其中’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 – 通过交换多个字母来修改字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。