擅长:python、mysql、java
<p><strong>代码</strong>:</p>
<pre><code>l = [['GRRSCLOE1', "<DstTzInfo 'America/Santiago' LMT-1 day, 19:17:00 STD>", -3.0, 'RR'], ['GRTFRAIX1', "<DstTzInfo 'Europe/Berlin' LMT+0:53:00 STD>", 1.0, 'P'], ['GRAMDZGP1', "<DstTzInfo 'America/Argentina/Mendoza' LMT-1 day, 19:25:00 STD>", -3.0, 'P+PE'], ['GRASAOTB2', "<DstTzInfo 'America/Sao_Paulo' LMT-1 day, 20:54:00 STD>", -3.0, 'PE'], ['GRTVAPEM4',"<DstTzInfo 'America/Santiago' LMT-1 day, 19:17:00 STD>", -3.0, 'P']]
print([a[0] for a in l if float(a[2])==-3.0])
</code></pre>
<p><strong>输出</strong>:</p>
<pre><code>['GRRSCLOE1', 'GRAMDZGP1', 'GRASAOTB2', 'GRTVAPEM4']
</code></pre>
<p><strong>解释:</strong></p>
<p>首先,初始列表字符串应该用双引号或单引号括起来,如果字符串中有单引号并且不想转义,请使用双引号。你知道吗</p>
<p>那么你要找的是列表理解:</p>
<ul>
<li>构造<code>[ <operation on a> for a in list if <condition on a>]</code>将允许您返回一个包含初始列表中满足条件的所有元素x的列表</li>
<li>这将返回示例的所有嵌套列表,因为您只感兴趣的是第一个元素将<code><operation on a></code>替换为<code>a[0]</code></li>
</ul>