由python代码生成的序列如下:
TTTTTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
我想遍历它们,并将具有一定%的每个字符更改为N,例如0.2%,否则将其保留为原始字符。我该怎么做呢?
可以使用随机整型,如下所示:
import random
for i in range(len(your_list)):
if random.randint(0,1000)<2: #0.2%chance
your_list[i] = 'N'
在生成器表达式中使用random.random()
,并将join
返回到字符串
import random
s = "TTTTTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
p = 0.002
s2 = "".join("N" if random.random() <= p else c for c in s)