python - 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
列表的以下元素。
- /用户/身份证/工作/服务/号码
- /Users/id/work/rake/机密
- 用户/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)
这两个选项都不起作用,我哪里出错了?
解决方案
尝试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)
推荐阅读
- python - 在 python 中将字典写入 YAML 文件的问题
- azure - 如何解决 X2go 客户端中的“无法执行 xfce4 会话”错误?
- c++ - 在 Windows 上存储语言环境名称的缓冲区大小应该是多少?
- quarkus - 如何使用 MicroProfile Rest Client 在 Quarkus 应用程序中传播 Authorization 标头?
- angular - Angular 子组件中的 ngIf
- javascript - Javascript 中的 Base64 图像编码
- ios - 如何在堆栈导航器中从子级到另一个子级 v5 进行嵌套导航?
- typescript - 在 TypeScript 中使用类和泛型 - 使用 new()?
- android - 如何打开应用程序的源代码并在android studio中运行?
- ios - 如何保存数据然后与 React Native 共享?