擅长:python、mysql、java
<p>应将三个变量<code>domesticated</code>、<code>pets</code>和<code>wildlife</code>替换为单个<code>dict</code>:</p>
<pre><code>animals = {'domesticated': ['cow', 'sheep', 'pig'],
'pets': ['cat', 'dog'],
'wildlife': ['giraffe', 'lion', 'panda']}
</code></pre>
<p>那么</p>
<pre><code>activeList = [] # not ''!
for category, status in zip(*masterList):
if status == 'on':
activeList += animals[category]
</code></pre>
<p>注意<code>zip(*masterList)</code>,它的意思与<code>zip(masterList[0], masterList[1])</code>相同。使用<code>zip</code>和两个循环变量是同时在两个列表上循环的惯用方法。你知道吗</p>
<p>对于额外的Python点,可以使用<code>sum</code>附加列表:</p>
<pre><code>sum((animals[category] for category, status in zip(*masterList)
if status == 'on'),
[])
</code></pre>