python - 使用两个列表删除项目
问题描述
我有两个列表,我想从第一个列表中删除一些项目。我不明白为什么我的代码不起作用。我的输入:
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']
解决方案
供您参考,如果顺序无关紧要,您可以使用set
来完成您想要的:
>>> set(l0).difference(l1)
{'Rang', 'Unnamed: 5', 'Unnamed: 6'}
推荐阅读
- api - 一个函数中的多个 API 获取请求
- ios - 函数式编程中非可选数组的可选对象
- google-apps-script - 对 dfareporting.ads.insert 的 API 调用失败并出现错误:12043:必须先将广告素材分配给广告系列,然后才能将其与广告相关联
- google-apps-script - 导航到 Google Apps 脚本中的不同页面
- typescript - 如何在树实体中找到关联的子分支?
- angular - 如何在展示性内容之外使用异步管道?
- r - 求一个变量的均值,取决于另一个变量,按第三个分组
- html - HTML 缩小会扼杀阅读器视图?
- shell - 运行 start-hbase.sh 时出现“Bad Substitution”错误
- javascript - 是否有关于如何从 NodeJS CJS + Babel 迁移到 NodeJS MJS 的策略?