擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/3/library/itertools.html#itertools.groupby" rel="noreferrer">itertools.groupby</a>创建具有列表理解的新列表:</p>
<pre><code>from itertools import groupby
numbers = [100, 210, 250, 300, 405, 430, 500, 1850, 1875, 2120, 2150]
out = [next(group) for key, group in groupby(numbers, key=lambda n: (str(n)[0], len(str(n))))]
print(out)
# [100, 210, 300, 405, 500, 1850, 2120]
</code></pre>
<p>我们使用元组(第一个数字,数字的长度)分组,并保留每个组的第一个数字,这是通过<code>next(group)</code>得到的。你知道吗</p>