擅长:python、mysql、java
<p>这也可能是一行(因为在两行解决方案中不计算defaultdict初始化)。它的优点是比其他解决方案快得多</p>
<pre><code>n = defaultdict(list)
{n[sum(int(d) for d in str(nb))].append(nb) for nb in range(1000)}
</code></pre>
<p>或者在一行中(使用<a href="https://www.python.org/dev/peps/pep-0572/" rel="nofollow noreferrer">walrus operator</a>python3.8+)</p>
<pre><code>{n := collections.defaultdict(list)[sum(int(i) for i in str(x))].append(x) for x in range(NB)}
</code></pre>