使用python中的索引更快地替换字符

时间:2019-02-26 18:32:42

标签: python string

我有大量的DNA序列150万 每个ATCG集合中大约有1k个字符

我正在模拟错误突变,这需要大量时间才能完成。我已经确定了瓶颈,该瓶颈是更改字符串字符的函数:

def f(sequence, indexes_to_mutate):
     seq = list(sequence)
     for i in indexes_to_mutate:
         seq[i] = 'X'

     return ''.join(seq)

有没有一种更快的方法来处理字符串,而不必转换为列表然后返回字符串。

1 个答案:

答案 0 :(得分:0)

根据this的回答,以下方法比转换为列表然后返回的速度更快:

def f(sequence, indexes_to_mutate):
     for i in indexes_to_mutate:
         new_seq = sequence[:i] + 'X' + sequence[i+1:]

     return new_seq