如何根据另一个列表保留列表中的元素

我有两个看起来像的清单:

list1 = ['a','a','b','b','b','c','d','e','e','g','g']

list2 = ['a','c','z','y']

我要做的是将list1的所有那些元素都保留在list2中。结果应该是:

outcome= ['a','a','c']

回答:

使用in运算符,您可以检查元素是否在序列中。

>>> list2 = ['a','c','z','y']

>>> 'x' in list2

False

>>> 'y' in list2

True

使用列表理解:

>>> list1 = ['a','a','b','b','b','c','d','e','e','g','g']

>>> list2 = ['a','c','z','y']

>>> [x for x in list1 if x in list2]

['a', 'a', 'c']

但是x in

list效率不高。您最好转换list2set对象。

>>> set2 = set(list2)

>>> [x for x in list1 if x in set2]

['a', 'a', 'c']

以上是 如何根据另一个列表保留列表中的元素 的全部内容, 来源链接: utcz.com/qa/399762.html

回到顶部