Python 遍历多个元组并返回字符串
我尝试遍历列表中的多个元组,并将每个元组中的项按特定顺序返回到字符串中 例如,如果我输入:Python 遍历多个元组并返回字符串,python,string,function,tuples,Python,String,Function,Tuples,我尝试遍历列表中的多个元组,并将每个元组中的项按特定顺序返回到字符串中 例如,如果我输入: ['ABCD', 'EFGH', 'IJKL'] 我希望它能回来: 'AEIBFJCGKDHL' 提前感谢您的帮助 您需要: 或: (感谢juanpa.arrivillaga和PM_2Ring提供的有用意见。)只需增加一个选项(其他答案也很好): 对于给定的输入,速度更快,但对于更多的输入字符串(甚至从3增加到6),此方法获胜 另外,作为旁注,您还可以使用itertools.zip_longest处理
['ABCD', 'EFGH', 'IJKL']
我希望它能回来:
'AEIBFJCGKDHL'
提前感谢您的帮助 您需要:
或:
(感谢juanpa.arrivillaga和PM_2Ring提供的有用意见。)只需增加一个选项(其他答案也很好): 对于给定的输入,速度更快,但对于更多的输入字符串(甚至从3增加到6),此方法获胜
另外,作为旁注,您还可以使用
itertools.zip_longest
处理不匹配len
的输入,而不删除数据,传递fillvalue='
我在这里看不到元组…可能是链。从_iterable
传递当然更可取。当你有选择时,加入一个列表而不是迭代器(因为它必须扫描字符串两次),当您没有选择时,无需显式调用列表-。join
可以在内部执行该调用。
lst = ['ABCD', 'EFGH', 'IJKL']
''.join(l for t in zip(*lst) for l in t)
# 'AEIBFJCGKDHL'
import itertools
''.join(itertools.chain(*zip(*mylist)))
import itertools
''.join(itertools.chain.from_iterable(zip(*mylist)))
lst = ['ABCD', 'EFGH', 'IJKL']
''.join(map(''.join, zip(*lst)))