擅长:python、mysql、java
<p>有三个问题:</p>
<ol>
<li>您正在从for循环中的<code>start_list</code>上的<code>square_list</code>分配。</li>
<li>您没有将结果追加到列表中(由于上述原因,这将失败)。</li>
</ol>
<p>最终结果是<code>square_list</code>不是列表,因此无法排序。</p>
<p>比较以下代码:</p>
<pre><code>start_list = [5, 3, 1, 2, 4]
square_list = []
for item in start_list:
square_list.append(item ** 2)
</code></pre>
<p>这里我们对列表进行迭代,为每个循环取一个<code>item</code>。然后将其平方(使用<code>** 2</code>),然后将其附加到<code>square_list</code>。</p>
<ol start=“3”>
<li>print语句中还有一个问题:<code>print square_list.sort()</code></li>
</ol>
<p>在这里,您在列表中使用<code>.sort()</code>,然后尝试<code>print</code>返回值。但是<code>.sort()</code>在</em>中对列表进行排序,然后返回<code>None</code>。所以这一行将始终打印<code>None</code>。要打印已排序的列表,可以使用<code>sorted()</code>函数返回已排序的列表,准备传递给<code>print</code>:</p>
<pre><code>print sorted(square_list)
</code></pre>
<p>也可以在打印前对列表进行排序:</p>
<pre><code>square_list.sort()
print square_list
</code></pre>