比较两个列表和获得结果列表与一些检查

时间:2016-06-02 14:19:00

标签: python list compare

我有两个列表a和b我必须得到两个列表的结果,其中包含两个元素,其中一个元素是b中不存在的元素必须在python.output中编写代码应该看起来像这样。

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

我需要一个高效的,因为我必须多次执行这个过程 谢谢,如果有任何不明之处,请告诉我。

2 个答案:

答案 0 :(得分:4)

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

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

列表c将是一组intersection

的结果
>>> c = set(a).intersection(b)
>>> c
{'shampoo', 'product'}

列表d是来自difference的{​​{1}} a集的结果。

b

还有用于执行这些操作的集合的运算符

>>> d = set(b).difference(a)
>>> d
{'random', 'nothing'}

答案 1 :(得分:1)

执行此任务的有效方法包括使用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']