2024-04-25 18:14:37 发布
网友
我想用数组中的一个数字来重复字符串中的每个字符,即如果
rep = [1, 0, 1, 1, 3, 0, 0, 1, 0] seq = 'AATCGGGAA'
我想要像这样的东西
seq*rep
输出
ATCGGGA
最快的方法是将map与operator.mul一起使用:
map
operator.mul
>>> from operator import mul >>> ''.join(map(mul, seq, rep)) 'ATCGGGA'
可以使用^{}、a list comprehension和^{}:
>>> rep = [1, 0, 1, 1, 3, 0, 0, 1, 0] >>> seq = 'AATCGGGAA' >>> >>> list(zip(seq, rep)) # zip pairs up the items in the two lists [('A', 1), ('A', 0), ('T', 1), ('C', 1), ('G', 3), ('G', 0), ('G', 0), ('A', 1), ('A', 0)] >>> >>> ''.join([x*y for x,y in zip(seq, rep)]) 'ATCGGGA' >>>
这应该可以做到:
"".join([s*r for r, s in zip(rep, seq)])
输出:
"ATCGGGA"
最快的方法是将
map
与operator.mul
一起使用:可以使用^{} 、a list comprehension和^{} :
这应该可以做到:
输出:
相关问题 更多 >
编程相关推荐