Python 比较两个列表并获得带有一些检查的结果列表

Python 比较两个列表并获得带有一些检查的结果列表,python,list,compare,Python,List,Compare,我有两个列表a和b,我必须得到两个列表的结果,一个列表中的元素都在a中,另一个列表中的元素b不在a中。我必须用python.output编写代码,应该是这样的 a = ['product','shampoo','vivel','spark'] b = ['random','product','shampoo','nothing'] c = ['product','shampoo'] d = ['random','nothing'] 我需要一个有效的方法,因为我必

我有两个列表a和b,我必须得到两个列表的结果,一个列表中的元素都在a中,另一个列表中的元素b不在a中。我必须用python.output编写代码,应该是这样的

    a = ['product','shampoo','vivel','spark']
    b = ['random','product','shampoo','nothing']
    c = ['product','shampoo']
    d = ['random','nothing']
我需要一个有效的方法,因为我必须多次这样做
谢谢,如果有任何不一致之处,请告诉我。

您可以使用集合运算,因为这基本上就是您所追求的

>>> a = ['product','shampoo','vivel','spark']
>>> b = ['random','product','shampoo','nothing']
列表
c
将是一组
交叉点的结果

>>> c = set(a).intersection(b)
>>> c
{'shampoo', 'product'}
列表
d
将是
a
b
的一组
差异的结果

>>> d = set(b).difference(a)
>>> d
{'random', 'nothing'}
也有执行这些操作的集合的运算符

>>> set(a) & set(b)
{'shampoo', 'product'}
>>> set(b) - set(a)
{'random', 'nothing'}

您可以使用集合操作,因为这本质上就是您所追求的

>>> a = ['product','shampoo','vivel','spark']
>>> b = ['random','product','shampoo','nothing']
列表
c
将是一组
交叉点的结果

>>> c = set(a).intersection(b)
>>> c
{'shampoo', 'product'}
列表
d
将是
a
b
的一组
差异的结果

>>> d = set(b).difference(a)
>>> d
{'random', 'nothing'}
也有执行这些操作的集合的运算符

>>> set(a) & set(b)
{'shampoo', 'product'}
>>> set(b) - set(a)
{'random', 'nothing'}

执行此任务的有效方法包括使用
set
-

a = ['product','shampoo','vivel','spark']
b = ['random','product','shampoo','nothing']

c = list(set(a) & set(b))

d = list(set(b) - set(a))

print(c)

print(d)
输出-

['product', 'shampoo']
['nothing', 'random']

执行此任务的有效方法包括使用
set
-

a = ['product','shampoo','vivel','spark']
b = ['random','product','shampoo','nothing']

c = list(set(a) & set(b))

d = list(set(b) - set(a))

print(c)

print(d)
输出-

['product', 'shampoo']
['nothing', 'random']
你的问题是什么?注意:“我该怎么做这个作业?”太宽泛了。你的问题是什么?注意:“我该如何做这个作业?”太宽泛了。