1

我有这段代码可以交错两个单词并将新的交错单词作为元组输出,但我也需要它是一个原始字符串。

from itertools import zip_longest
def interleave(word1,word2):
    return ''.join(list(map(str, zip_longest(word1,word2,fillvalue=''))))

如果输入单词 cat 和 hat,则输出

('h', 'c')('a', 'a')('t', 't'). 

但我需要它输出

hcaatt

我怎么能把这个列表格式化成一个普通的字符串

4

2 回答 2

2

具有itertools.chain.from_iterable()zip()功能:

import itertools

w1, w2 = 'cat', 'hat'
result = ''.join(itertools.chain.from_iterable(zip(w2, w1)))

print(result)

输出:

hcaatt
于 2017-10-16T18:51:45.560 回答
0

你可以使用 reduce 来达到你的目标:

word1, word2 = 'cat', 'hat'
result = ''.join(reduce(lambda x, y: x+y, zip(word1, word2)))
print(result)
于 2017-10-16T18:54:30.903 回答