给定字符串s1
和s2
,长度不一定相同。创建一个由s1
和s2
交替字符组成的新字符串(即s1
的第一个字符后跟s2
的第一个字符,然后是s1
的第二个字符,然后是s2
的第二个字符,依此类推。
一旦到达任一字符串的结尾,较长字符串的其余部分将添加到新字符串的结尾。例如,如果s1
包含“abc”,而s2
包含“uvwxyz”,则新字符串应包含“aubvcwxyz”。将新字符串与变量s3
关联。
我的尝试是:
s3 = ''
i = 0
while i < len(s1) and i < len(s2):
s3 += s1[i] + s2[i]
i += 1
if len(s1) > len(s2):
s3 += s1[i:]
elif len(s2) > len(s1):
s3 += s2[i:]
您可以使用itertools模块中的
izip_longest
方法执行此操作,方法如下:演示:
编辑:在避免多个
join
中:有几件事要记住。首先,可以将python字符串视为数组,并且可以使用括号访问给定索引处的项。另外,倒数第二行使用拼接,有关更多信息,请参见How can I splice a string?
这应该是最起码的,你可以调整一些,所以你从中学习。我建议添加一些条件并将其转换为一个函数,这样s1和s2可以是任意长度,并且仍然有效。~
相关问题 更多 >
编程相关推荐