擅长:python、mysql、java
<p>您正在尝试这样做:</p>
<pre><code>{c: [x[0] for x in g16.nodes(data=True) if x[1]['color'] == c] for c in colors}
</code></pre>
<p>但是它不是很有效,因为你要为每种颜色循环一次<code>g16.nodes(data=True)</code></p>
<p>这样比较好</p>
^{pr2}$
<p>如果您知道<code>k</code>总是在<code>colors</code>中,您可以简化为</p>
<pre><code>d = {c: [] for c in colors}
for x in g16.nodes(data=True):
d[x[1]['color']].append(x[0])
</code></pre>