擅长:python、mysql、java
<p>你可以这样做:</p>
<pre><code>list1 = ['abc','def','ghi','jk']
max_length = max(map(len, list1))
result = []
for i in range(max_length):
element = []
for s in list1:
element.append(s[i] if i < len(s) else "")
result.append(''.join(element))
print(result)
</code></pre>
<p>外循环迭代所有可能的索引,内循环迭代单词,行:</p>
<pre><code>s[i] if i < len(s) else ""
</code></pre>
<p>如果i在边界内,则检索<code>s[i]</code>。尽管最具Python性的方法是:</p>
<pre><code>from itertools import zip_longest
list1 = ['abc', 'def', 'ghi', 'jk']
result = list(map(''.join, zip_longest(*list1, fillvalue='')))
print(result)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>['adgj', 'behk', 'cfi']
</code></pre>
<p>尽管如此,后者还是有点高级的解决方案</p>