Skip to main content
 首页 » 编程设计

python之python一次遍历两个字符串

2025年05月04日20davidwang456

我有两个字符串,我想交替打印一个字符。喜欢说

s1 = "Hi" 
s2 = "Giy" 
 
for c,d in s1,s2: 
    print c 
    print d 

我希望输出为 HGiiy。但是,我得到了输出 Hi。

我在这里做错了什么?

请您参考如下方法:

你需要使用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' 

或者使用一个简单的 for 循环:

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