如何检查列表中是否包含任何列表元素

2024-10-01 13:38:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表myList(类名)。我正在遍历文件名,我想知道文件名是否包含列表中的任何类

我尝试了以下方法:

for file in os.llistdir(path):
    if any((for s in myList) in file):
        print(file)

例如,如果列表是myList=['aa', 'ab'],文件是fooaa.txtfooab.txtfoocc.txtfoock.txt,我希望代码输出:

fooaa.txt

fooab.txt

有更好的方法吗?我做错什么了


Tags: path方法字符串intxt列表foros
2条回答

看来你需要

for file in os.listdir(path):
    if any(i in file for i in myList):
        print(file)

或者使用正则表达式

例如:

import re

pattern = re.compile("|".join(myList))
for file in os.listdir(path)::
    if pattern.search(file):
        print(file)

这是使用any编写测试的正确语法:

for file in os.listdir(path):
    if any(s in file for s in myList):
        print(file)

相关问题 更多 >