比较两个列表,并得到一个带有一些检查的列表

2024-04-25 18:26:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表a和b,我必须得到两个列表的结果,一个列表中的元素在两个列表中,另一个列表中的元素b在a中不存在,我必须用python.output输出应该是这样的。你知道吗

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

我需要一个有效的,因为我必须这样做的一些过程很多次 谢谢,如果有什么不清楚的地方请告诉我。你知道吗


Tags: 元素列表output过程地方randomproductspark
2条回答

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

你可以使用集合运算,因为这基本上就是你想要的。你知道吗

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

列表c将是集合intersection的结果

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

列表d将是来自ba集合difference的结果。你知道吗

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

也有执行这些操作的集合运算符

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

相关问题 更多 >