Python |我怎样才能创建一个返回两个列表的无公共的函数

时间:2018-03-26 09:27:35

标签: python

我尝试编写一个代码,一个更具体的函数,它接受两个参数,两个数字列表,并返回一个列表,其中包含两个列表的项目,除了常见的列表。
这是我的代码:

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] 

首先,我希望你纠正我的错误,如果你建议我做任何更好的方法,我会很高兴的。
提前致谢 !

1 个答案:

答案 0 :(得分:1)

这是一种更好的方法:使用集合,其中定义了独占或运算符^

def nocommons(l1,l2):
    return list(set(l1) ^ set(l2))

外部list调用不是绝对必要的,除非返回的对象必须是列表,当然。