Объединить данные из двух разных строк в python

У меня две строки:

a ='hellowww'
b ='world'

Ожидаемый результат

c = 'hweolrllodwww'

Мой код:

for x,y in zip(a,b):
    print(x,y)

В моем случае это не работает.

Примечание: длина двух строк, может быть не одинаковой.

from itertools import zip_longest; c = ''.join(s + t for s, t in zip_longest(a, b, fillvalue='')) или c = ''.join(s for tup in zip_longest(a, b, fillvalue='') for s in tup)
Steven Rumbalski 13.09.2018 18:29
0
1
58
1

Ответы 1

zip останавливается при прохождении самого короткого итеративного объекта. Вместо этого вы можете использовать модуль itertool через chain и zip_longest:

from itertools import chain, zip_longest

res = ''.join(chain.from_iterable(zip_longest(a, b, fillvalue='')))

# 'hweolrllodwww'

Другие вопросы по теме