Python 用数组乘以字符串的最佳方法
我想用数组中的数字重复字符串中的每个字符,即如果Python 用数组乘以字符串的最佳方法,python,string,list,Python,String,List,我想用数组中的数字重复字符串中的每个字符,即如果 rep = [1, 0, 1, 1, 3, 0, 0, 1, 0] seq = 'AATCGGGAA' 我想要像这样的东西 seq*rep 输出 ATCGGGA 您可以使用、a和: 这应该可以做到: "".join([s*r for r, s in zip(rep, seq)]) 输出: "ATCGGGA" 最快的方法是使用map和operator.mul: >>> from operator import mul &
rep = [1, 0, 1, 1, 3, 0, 0, 1, 0]
seq = 'AATCGGGAA'
我想要像这样的东西
seq*rep
输出
ATCGGGA
您可以使用、a和:
这应该可以做到:
"".join([s*r for r, s in zip(rep, seq)])
输出:
"ATCGGGA"
最快的方法是使用
map
和operator.mul
:
>>> from operator import mul
>>> ''.join(map(mul, seq, rep))
'ATCGGGA'
@iCodez击败了你:)谢谢你的回答,你说的最快,即最高效是什么意思?最少的击键次数?很好的发现!我很欣赏从SOSo可以得到的各种答案,如果你是用户(或者只是python 3中的常规
zip
),哪一个会赢?
>>> from operator import mul
>>> ''.join(map(mul, seq, rep))
'ATCGGGA'