回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<blockquote>
<p>Write a purely recursive Python function called <code>Merge3</code> that takes three lists of numbers each sorted in increasing order as input and outputs a single sorted list by merging elements from the three lists in proper increasing order. For example, <code>Merge3([1,2,72,108],[3,4,94,103],[45,67,456])</code> should return a list <code>[1,2,3,4,45,67,72,94,103,108,456]</code>.</p>
</blockquote>
<p>我可以为两个列表编写一个版本,但是我正在努力想出一个紧凑的方法来实现这三个列表。请参阅下面的示例:</p>
<pre><code>def Merge2(A, B):
if A == []:
return B
if B == []:
return A
if A != [] and B != []:
if A[0] > B[0]:
return [B[0]] + Merge(A, B[1:])
else:
return [A[0]] + Merge(A[1:], B)
print(Merge2([1, 2, 6, 7],[3, 4, 8, 9]))
</code></pre>
<p>有没有一个简单的方法来处理我丢失的三个列表?我觉得这需要很多额外的检查,这将使程序相当长。你能想出一个简洁的方法来做这三个清单吗?在</p>