我有以下功能:
def f(s1,s2):
s=''
for i in range(min(len(s1),len(s2))):
s = s1[i] + s2[i]
if len(s1) < len(s2): return s + s2[len(s1):]
else: return s + s1[len(s2):]
print(f('1234','abc'))
此函数应该将两个字符串一起打印为 1a2b3c4,但我在运行它时只得到后半部分 3c4。关于为什么会发生这种情况的任何想法?谢谢!
请您参考如下方法:
因为你正在以艰难的方式做到这一点。
s = ''.join((x + y) for (x, y) in zip(s1, s2))
