擅长:python、mysql、java
<p>我猜如果<code>i</code>不是<code>list[elem]</code>的成员,你会认为<code>if list[elem][i]</code>是假的,但它不是这样做的。相反,Python尝试检查该值是否真实,当那里根本没有值时,就会进入<code>IndexError</code></p>
<p>不管怎样,与其三思而后行,不如请求原谅而不是允许:</p>
<pre><code>list1=['this','isat','ry']
for elem in range(len(list1[0])):
for i in range(len(list1)):
try:
print(list1[i][elem],end='')
except IndexError:
continue
print(end=' ')
</code></pre>
<p>如果您喜欢“三思而后行”变体,那么检查索引是否存在的正确方法是</p>
<pre><code> if i in list1[elem]:
</code></pre>
<p>我假设列表的第一个元素总是有最大长度,所以我们只是在外循环中循环这个元素</p>