python - 如何插入双字母

标签 python string insert

所以我现在正试图找出 python 的一些复杂之处,只是为了抖动,并且我正在尝试将东西插入到我的字符串中。我想返回所有设置字母加倍的字符串的副本。我的字母是 l m n q t

所以我的金钱输出看起来就像 mmonney

这是来自不同尝试的代码,其中我删除了字母,我试图弄清楚如何更改它,所以我将列表中的字母加倍。有什么建议吗?

def double(str):
  letters = ('l', 'm', 'n', 'q', 't')
  for char in str:
    if c.lower() in letters:
      str = str.replace(c,"")
    return str

最佳答案

请注意,使用如此多的 str 替换并不会使您的函数具有很强的可扩展性。

def double(word):
    letters = ('l', 'm', 'n', 'q', 't')
    return "".join([p*2 if p in letters else p for p in word])

一般来说,Python 中的字符串修改操作(以及相当多其他语言都很慢),因为字符串是不可变的。实际上,每次执行替换调用时,您都是从头开始创建一个全新的字符串。

另一方面,这里给出的方法是处理两个列表。追加到列表是一个快速的操作。

关于python - 如何插入双字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44015424/

相关文章:

python - 如何更正输入框的输出

python - 当我说 data.dtypes == np.object 时,其中 data 是我正在处理的数据集。这个表达是什么意思?

MySQL Join 与 Insert 相结合?

php - 大大加快 MySQL 数据库中 1000 万行的插入速度

SQL 通过连接插入值

python - 如何去除字符串末尾的嘈杂模式?

python - 谷歌应用程序引擎python发送电子邮件超时

c - 关于 C 字符串的问题

java - 尝试在 map 中设置字符串时出现 WRONGTYPE 异常 (jedis)

c# - 如何使用 C# 将整个文件读取为字符串?