我必须使用工具重新创建2个蟒蛇函数“a.union(b)”和a.intersect(b)
追加;流行; LEN;同时,因为我在范围内;如果别的; l [i](列表l);和booleens
最后一个函数有2个列表作为参数并返回最终的ordonned列表。 例如
A = [1.2.5.6]
B = [3.5.6.8.15]
如果我输入f(a,b)并获得回报[1.2.3.5.6.8.15](联盟) 如果我输入g(a,b),我会得到类似[5.6]
的内容我尝试通过连续比较列表术语来做到这一点,但在这种情况下,如果一个列表更短,它将在1之前清空,我将比较一个数字什么都没有。我尝试使用while,但我只能检查列表是否清空,而不是两者。
请你帮助我:s
Ps:不是英语,我希望你能传递我所犯的语言错误。
答案 0 :(得分:1)
如果您可以假设两个输入列表已排序,那么这只是mergesort的合并步骤。为此,你需要两个索引,i和j,你一次向前移动其中一个,而不是两个。从0开始它们。当其中一个点击其列表的末尾时,你需要两个while循环 - 一个从第一个列表中获取值直到耗尽,另一个从第二个列表中获取值直到耗尽。