Traversing two strings at a time python

前端 未结 4 1161
悲&欢浪女
悲&欢浪女 2021-01-07 08:58

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         


        
4条回答
  •  没有蜡笔的小新
    2021-01-07 09:22

    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
    

提交回复
热议问题