擅长:python、mysql、java
<p><strong>编辑:这不能回答操作员的问题:</strong></p>
<pre><code>min_diff, min_idx = min((math.fabs(a - b), i) for i, (a, b) in enumerate(zip(xpre, ppre)
</code></pre>
<p>从右到左:</p>
<p>zip接受xpre和ppre,并生成一个第1个、第2个。。。元素分别如下:</p>
^{pr2}$
<p>枚举枚举通过从0向上计数来添加索引:</p>
<pre><code>[ (0 , (xpre[0],ppre[0]) ) , (1 , (xpre[1],ppre[1]) ) , ... ]
</code></pre>
<p>这将解压每个嵌套元组:</p>
<pre><code>for i, (a, b) in ...
</code></pre>
<p>i是enumerate生成的索引,a和b是xarr和parr的元素。在</p>
<p>这将构建一个由差异和索引组成的元组:</p>
<pre><code>(math.fabs(a - b), i)
</code></pre>
<p>在min(…)之间的整个过程是一个生成器表达式。然后min会找到这些值中的最小值,赋值将它们解包:</p>
<pre><code>min_diff, min_idx = min(...)
</code></pre>