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

时间:2019-08-28 10:28:41

标签: python list

我有一个字符串列表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

有没有更好的方法?我究竟做错了什么?

2 个答案:

答案 0 :(得分:3)

看起来像您需要的。

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)

答案 1 :(得分:3)

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

for file in os.listdir(path):
    if any(s in file for s in myList):
        print(file)
相关问题