Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用数组乘以字符串的最佳方法_Python_String_List - Fatal编程技术网

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'