擅长:python、mysql、java
<p>要使代码正常工作,只需在<code>max</code>函数中使用<code>key</code>参数</p>
<pre><code>print ''.join([a+b for a,b in zip(s1, s2)]) + max(s1,s2, key=len)[min(len(s1),len(s2)):]
</code></pre>
<p>或者,可以使用<a href="http://docs.python.org/2/library/itertools.html#itertools.izip_longest" rel="nofollow">itertools.izip_longest</a>进行迭代,直到两个iterable中最大的一个用完为止。所以,这个解决方案不考虑字符串的长度。在</p>
^{pr2}$
<p><strong>输出</strong></p>
<pre><code>aebfcgdhi
</code></pre>
<p><strong>编辑:</strong></p>
<p>不使用<code>itertools</code></p>
<pre><code>s1,s2='abcd' ,'efghi'
minLen = min(len(s1), len(s2))
print "".join(y for x in zip(s1, s2) for y in x) + s1[minLen:] + s2[minLen:]
</code></pre>