迭代多个元组并返回字符串

时间:2017-03-12 23:24:39

标签: python string function tuples

我正在尝试遍历列表中的多个元组,并按特定顺序将每个元组中的项返回到字符串中。

例如,如果我输入:

['ABCD', 'EFGH', 'IJKL']

我希望它能回归:

'AEIBFJCGKDHL'

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

您需要zip

lst = ['ABCD', 'EFGH', 'IJKL']

''.join(l for t in zip(*lst) for l in t)
# 'AEIBFJCGKDHL'

答案 1 :(得分:4)

import itertools
''.join(itertools.chain(*zip(*mylist)))

或者:

import itertools
''.join(itertools.chain.from_iterable(zip(*mylist)))

(感谢juanpa.arrivillaga和PM_2Ring提供了有用的评论。)

答案 2 :(得分:0)

只需一个选项(其他答案也可以):

lst = ['ABCD', 'EFGH', 'IJKL']

''.join(map(''.join, zip(*lst)))

对于给定的输入,hemflit's chain.from_iterable solution更快,但对于更多的输入字符串(甚至从3增加到6),这种方法获胜。

另外,作为旁注,您还可以处理不匹配len的输入,而不会使用itertools.zip_longest丢弃数据,并传递fillvalue=''