首页 > 解决方案 > 使用两个列表删除项目

问题描述

我有两个列表,我想从第一个列表中删除一些项目。我不明白为什么我的代码不起作用。我的输入:

l0=['Localisation level 2 AM', 'Rang', 'Localisation level 3 AM', 'WP Level 2', 'WP Level 3', 'Unnamed: 5', 'Unnamed: 6']
l1=['Localisation level 2 AM', 'Localisation level 3 AM', 'WP Level 2', 'WP Level 3']

我尝试这样做,但“WP Level 2”仍在第一个列表 l0 中:

for e in l0:
   if e in l1:
      l0.remove(e)
print(l0)
['Rang', 'WP Level 2', 'Unnamed: 5', 'Unnamed: 6']

标签: pythonlistdataframe

解决方案


供您参考,如果顺序无关紧要,您可以使用set来完成您想要的:

>>> set(l0).difference(l1)
{'Rang', 'Unnamed: 5', 'Unnamed: 6'}

推荐阅读