擅长:python、mysql、java
<p>要使用生成器表达式通过嵌套循环展平列表:</p>
<pre><code>MinVal = min(i for sublist in E for i in sublist)
</code></pre>
<p>您的错误表示至少有一个子列表是空的,但是上面的子列表自然会跳过这样的空子列表。</p>
<p>如果需要同时确定最小值和最大值,请不要使用两个循环。使用一个循环并“手动”跟踪最小值和最大值:</p>
<pre><code>minimum = float('inf')
maximum = float('-inf')
for sublist in E:
for i in sublist:
if i < minimum:
minimum = i
if i > maximum
maximum = i
</code></pre>
<p>这样可以确保只在大量值上循环一次。</p>