<p>这可以使用Python的map方法实现。在</p>
<p>如图中所示:</p>
<pre><code>map(...)
map(function, sequence[, sequence, ...]) -> list
Return a list of the results of applying the function to the items of
the argument sequence(s). If more than one sequence is given, the
function is called with an argument list consisting of the corresponding
item of each sequence, substituting None for missing values when not all
sequences have the same length. If the function is None, return a list of
the items of the sequence (or a list of tuples if more than one sequence).
</code></pre>
<p>所以在这种情况下,您需要比较两个相等列表中的每一项,并对它们应用一个条件。我们将介绍的条件将遵循以下逻辑:</p>
<p><em>如果一个列表中的某个值不等于另一个列表,则设置“XX”,否则返回该值。</em></p>
<p>因此,我们将在这里引入所谓的“lambda”函数,以满足上述条件。以下是关于lambda是什么的文档:<a href="http://www.python-course.eu/lambda.php" rel="nofollow">http://www.python-course.eu/lambda.php</a></p>
^{pr2}$
<p>所以,当我们把它们放在一起时,我们有这样一个:</p>
<pre><code>d = map(lambda x, y: 'XX' if x != y else y, userAnswersList, correctAnswers)
</code></pre>
<p>演示:</p>
<pre><code>correctAnswers = ['A', 'C', 'A', 'A', 'D', 'B', 'C', 'A', 'C', 'B', 'A', 'D', 'C', 'A', 'D', 'C', 'B', 'B', 'D', 'A']
</code></pre>
<hr/>
<pre><code>userAnswersList = ['A', 'C', 'A', 'B', 'D', 'B', 'C', 'A', 'A', 'B', 'A', 'C', 'C', 'A', 'D', 'C', 'D', 'C', 'D', 'B']
</code></pre>
<p>结果:</p>
<pre><code>['A', 'C', 'A', 'XX', 'D', 'B', 'C', 'A', 'XX', 'B', 'A', 'XX', 'C', 'A', 'D', 'C', 'XX', 'XX', 'D', 'XX']
</code></pre>