我正在尝试创建一个接收 2 个列表并返回仅具有两个列表差异的列表的函数。
例子:
a = [1,2,5,7,9]
b = [1,2,4,8,9]
结果应该打印[4,5,7,8]
到目前为止的功能:
def xor(list1, list2):
list3=list1+list2
for i in range(0, len(list3)):
x=list3[i]
y=i
while y>0 and x<list3[y-1]:
list3[y]=list3[y-1]
y=y-1
list3[y]=x
last=list3[-1]
for i in range(len(list3) -2, -1, -1):
if last==list3[i]:
del list3[i]
else:
last=list3[i]
return list3
print xor([1,2,5,7,8],[1,2,4,8,9])
第一个 for 循环对其进行排序,第二个循环删除重复项。问题是结果
[1,2,4,5,7,8,9]
不是[4,5,7,8]
,所以它没有完全删除重复项?我可以添加什么来做到这一点。我不能使用任何特殊的模块,.sort、set 或任何东西,基本上只是循环。