擅长:python、mysql、java
<p>您的代码:</p>
<pre><code>MinVal = min(min(E[i]) for i in range(len(E)))
</code></pre>
<p>当<code>E[i] == []</code>时失败,因为没有空集最小值的合理定义。因此,您需要跳过空的子列表。一种选择是:</p>
<pre><code>min_val = min(min(e) for e in E if e)
</code></pre>
<p>大致相当于:</p>
<pre><code>min_vals = []
for e in E:
if e: # or 'if e != []:' - empty sequences evaluate False-y
mins.append(min(e))
min_val = min(min_vals)
</code></pre>
<p><em>(注意,实际上您没有在任何地方使用索引<code>i</code>,因此可以直接在<code>E</code>上迭代。)</p>
<p>5000件不是那么多,你可能不需要太担心效率。</p>