python - 根据不同列表中的值过滤python列表
问题描述
我认为这是关于算法和数据结构的入门级计算机科学 101 课程问题。
我有一个清单:
VAV_ID_list = ['36','38','21','29','31','25','9','13','14','19','30','8','26','6','34','11','12028','20','27','15','12032','23','16','24','37','39','12033','10']
我怎样才能过滤掉这些VAV_ID_exclude_list
值VAV_ID_list
?
VAV_ID_exclude_list = ['36','38','21','29','31','25','9','13','14','19','30','8','26','6']
下面的这段代码显然没有做任何非常感谢的提示。
filtered_VAV_ID_list = [zone for zone in VAV_ID_list if zone == 36]
print(filtered_VAV_ID_list)
解决方案
您可以通过多种方式做到这一点:
这是最直接的方法。
>>> [i for i in VAV_ID_list if i not in VAV_ID_exclude_list]
['34', '11', '12028', '20', '27', '15', '12032', '23', '16', '24', '37', '39', '12033', '10']
如果顺序不重要并且没有重复项,您甚至可以使用集合。
>>> list(set(VAV_ID_list) - set(VAV_ID_exclude_list))
['24', '11', '39', '27', '20', '23', '12033', '12032', '16', '37', '34', '15', '12028', '10']
推荐阅读
- python-3.x - 使用python将图像转换为txt
- go - 如何在 go 中使用 gzip 从使用 stdoutpipe 的命令进行压缩?
- python - Elasticsearch 1.7 scripted_metric 分析的字符串
- c# - :“具有键“PatientAppointmentID”的 ViewData 项的类型为“System.Int32”,但必须为“IEnumerable”类型
'。' - openapi - 使用 GIT 存储库中的文件而不是
在 Open API Generator Maven 插件中 - azure-machine-learning-service - 如何使用 CLI 或 SDK 在 Azure 机器学习服务中注册 900mb 的本地模型
- python - 将多个 CSV 文件加载到一个具有多级的 DataFrame 中
- sharepoint - 对数组中的重复项进行排序和删除 - REST API SharePoint 列表
- lisp - 如何从列表中删除子列表?
- ios - Xcode 11 Simulator - 检查暗模式是否处于活动状态时的 SIGABRT