I have two strings and I want to print them one character at a time alternatively. Like say
s1 = \"Hi\"
s2 = \"Giy\"
for c,d in s1,s2:
print c
print
you need to use itertools.izip_longest():
In [7]: from itertools import izip_longest
In [8]: s1="Hi"
In [9]: s2="Giy"
In [10]: "".join("".join(x) for x in izip_longest(s1,s2,fillvalue=""))
Out[10]: 'HGiiy'
or using a simple for
loop:
s1="Hi"
s2="Giy"
ans=""
for i in range(min(len(s1),len(s2))):
ans+=s1[i]+s2[i]
ans += s1[i+1:]+s2[i+1:]
print ans #prints HGiiy