<p>下面的代码比较了三个列表<code>motherList fatherlist</code>和<code>sonList</code>,检查{<cd2>}中的每个值是否以<code>motherList</code>或{<cd5>}表示一次。在</p>
<pre><code>def compareList(motherList, fatherList, sonList):
count = 0
for x in sonList:
if x in motherList and x in fatherList:
count = 2
elif x in motherList or x in fatherList:
count += 1
if count >= 2:
ans = "Mendelion"
else:
ans = "Non-Medelian"
print"{0} {1} \t {2} \t {3}".format(motherList, fatherList, sonList, ans)
</code></pre>
<p>输出:</p>
^{pr2}$
<p>有没有更简洁的方法来实现这一点?
可能是通过递归或非递归的方式</p>
<p>使用列表理解:</p>
<pre><code>def compareList(motherList, fatherList, sonList):
return len([i for i in sonList if i in motherList or i in fatherList])==len(sonList)
</code></pre>