擅长:python、mysql、java
<p><code>s</code>和<code>a</code>仅在<code>any(...)</code>的生成器理解中定义-您不能从外部访问。你知道吗</p>
<p>改用普通循环/集合/dict:</p>
<pre><code>import copy
scheduled_sites = [{'id': 128, 'scheduled_dashboard': True},
{'id': 61, 'scheduled_dashboard': True}]
active_schedules = [{'id': 1, 'scheduled_dashboard': True},
{'id': 61, 'scheduled_dashboard': True}]
# get missing keys
scheduled = set( (k["id"] for k in scheduled_sites) )
active = set( (k["id"] for k in active_schedules) )
# for lots of schedules it is cheaper to only iterate those that are missing
not_scheduled = active-scheduled
for not_in in not_scheduled:
for d in active_schedules:
if d["id"] == not_in:
# copy the dict you need to decouple this reference from the other one
scheduled_sites.append(copy.deepcopy(d))
scheduled_sites[-1]["scheduled_dashboard"] = False
print(scheduled_sites)
</code></pre>
<p>输出:</p>
<pre><code>[{'id': 128, 'scheduled_dashboard': True},
{'id': 61, 'scheduled_dashboard': True},
{'id': 1, 'scheduled_dashboard': False}]
</code></pre>