我尝试编写一个代码,一个更具体的函数,它接受两个参数,两个数字列表,并返回一个列表,其中包含两个列表的项目,除了常见的列表。
这是我的代码:
def nocommons(l1,l2):
for i in l1:
if i in l2:
l1.pop(l1.index(i))
l2.pop(l2.index(i))
return l1 + l2
print nocommons([1,4,6],[1,4,5]) #I want this to return : [6,5]
首先,我希望你纠正我的错误,如果你建议我做任何更好的方法,我会很高兴的。
提前致谢 !
答案 0 :(得分:1)
这是一种更好的方法:使用集合,其中定义了独占或运算符^
:
def nocommons(l1,l2):
return list(set(l1) ^ set(l2))
外部list
调用不是绝对必要的,除非返回的对象必须是列表,当然。