擅长:python、mysql、java
<pre><code>l = [11,12,13,14,14,15,16,12,17,18,19,19,20,30,40]
for i in range(len(l)):
if ( l[i]==12):
print l
</code></pre>
<p>这段代码说,“当您在列表中找到一个等于12的项时,打印整个列表。”这就是为什么要打印整个列表:这是您告诉Python要做的。您可能希望打印<code>l[i]</code>而不是<code>l</code>,因为这是您正在查看的数字。你知道吗</p>
<p>现在可以调整<code>if</code>语句,只选择12到16之间的数字:</p>
<pre><code>if 12 <= l[i] <= 16:
</code></pre>
<p>现在你有了数字,你可以开始格式化了。获取所需输出的最简单方法是建立一个列表并在末尾打印:</p>
<pre><code>l = [11,12,13,14,14,15,16,12,17,18,19,19,20,30,40]
o = []
for i in range(len(l)):
if 12 <= l[i] <= 16:
o.append(l[i])
print o
</code></pre>
<p>在那之后你还可以做其他的改进。例如,您可以直接迭代列表中的数字,而不是列表索引,否则不需要这些索引:</p>
<pre><code>for n in l:
if 12 <= n <= 16:
o.append(n)
print o
</code></pre>
<p>现在您可以将其编写为列表理解,这是一种Python语言功能,旨在使构建列表的常见模式变得更简单:</p>
<pre><code>print [n for n in l if 12 <= n <= 16]
</code></pre>