我有两个Lista和Listb列表,我试图通过删除Listb中存在的所有元素来更新Lista,我该怎么做?
Lista = ['1535408', '1527610', '1532634']
Listb = ['1527610', '1532634']
EXPECTED OUTPUT:-
Lista = ['1535408']
答案 0 :(得分:1)
从Listb
的元素创建一个集合(对于O(1)查找时间)。使用列表推导和重新分配来进行过滤。
>>> Lista = ['1535408', '1527610', '1532634']
>>> Listb = ['1527610', '1532634']
>>> b_items = set(Listb)
>>> Lista = [item for item in Lista if item not in b_items]
>>> Lista
['1535408']
答案 1 :(得分:1)
使用列表推导
>>> Lista = ['1535408', '1527610', '1532634']
>>> Listb = ['1527610', '1532634']
>>> Lista = [item for item in Lista if item not in Listb]
['1535408']
如果您不想保留重复元素,那么:
>>> set(Lista).difference(Listb)
{'1535408'}