擅长:python、mysql、java
<p>这两种方法都很容易使用列表理解和条件:</p>
<pre><code>questions = [['Johny', 'Baby', 'Shaw', '1984'], ['Andrew', 'fJKC', 'cbv bv', '1975'], ['Harry', 'Jack', 'Son', '1993']]
print([x[:1]+x[3:] for x in questions])
</code></pre>
<p>结果:</p>
<pre><code>[['Johny', '1984'], ['Andrew', '1975'], ['Harry', '1993']]
</code></pre>
<p>过滤开启年份:</p>
<pre><code>print([x[:1]+x[3:] for x in questions if int(x[-1])>=1980 and int(x[-1])<=2000])
</code></pre>
<p>结果:</p>
<pre><code>[['Johny', '1984'], ['Harry', '1993']]
</code></pre>
<p>请注意,当您需要临时变量/副作用时,listcomps不是最好的(如上所述:<code>int(x[-1])</code>必须计算两次,在年份的情况下,我们可以使用快捷方式并使用字符串比较,从1000年到9999年:</p>
<pre><code>print([x[:1]+x[3:] for x in questions if x[-1]>="1980" and x[-1]<="2000"])
</code></pre>
<p>当我们到了10000年,我会编辑我的答案:)</p>