首页 > 解决方案 > Python:检查列表元素是否是文件路径的一部分

问题描述

my_list = ['service', 'confidential']

path_list = ['/Users/id/work/service/number', '/Users/id/work/pager/duty', '/Users/id/work/rake/confidential', '/Users/id/work/service/number/items', '/Users/id/work']

只想打印path_list列表的以下元素。

  1. /用户/身份证/工作/服务/号码
  2. /Users/id/work/rake/机密
  3. 用户/id/work/service/number/items

我试过:

[print(i) for i in path_list if i in my_list]

for i in path_list:
     if i in my_list:
         print(i)

这两个选项都不起作用,我哪里出错了?

标签: pythonpython-3.xlist

解决方案


尝试any

[print(i) for i in path_list if any(x in i.split('/') for x in my_list)]

输出:

/Users/id/work/service/number
/Users/id/work/rake/confidential
/Users/id/work/service/number/items

更有效的方法仍然是:

for i in path_list:
     if any(x in i.split('/') for x in my_list):
         print(i)

推荐阅读