【发布时间】:2013-04-25 03:08:51
【问题描述】:
我正在尝试创建一个函数,该函数接受 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 或任何东西,基本上只是循环。
【问题讨论】:
标签: python python-2.7