擅长:python、mysql、java
<p>您正试图索引到标量(不可iterable)值:</p>
<pre><code>[y[1] for y in y_test]
# ^ this is the problem
</code></pre>
<p>当您调用<code>[y for y in test]</code>时,您已经在这些值上迭代了,所以您在<code>y</code>中得到了一个值。</p>
<p>您的代码与尝试执行以下操作相同:</p>
<pre><code>y_test = [1, 2, 3]
y = y_test[0] # y = 1
print(y[0]) # this line will fail
</code></pre>
<p>我不知道你想在结果数组中加入什么,但是你需要去掉<code>[y[1] for y in y_test]</code>。</p>
<p>如果你想将y-in-y测验中的每一个y附加到结果中,你需要进一步扩展你的列表理解能力,如下所示:</p>
<pre><code>[results.append(..., y) for y in y_test]
</code></pre>
<p>或者使用for循环:</p>
<pre><code>for y in y_test:
results.append(..., y)
</code></pre>