我有两个列表a和b我必须得到两个列表的结果,其中包含两个元素,其中一个元素是b中不存在的元素必须在python.output中编写代码应该看起来像这样。
a = ['product','shampoo','vivel','spark']
b = ['random','product','shampoo','nothing']
c = ['product','shampoo']
d = ['random','nothing']
我需要一个高效的,因为我必须多次执行这个过程 谢谢,如果有任何不明之处,请告诉我。
答案 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']