Python:如何在列表中找到与elemen的部分名称匹配的元素

2024-09-22 20:37:37 发布

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

我有一个关键字列表可以从文件名列表中找到。例如,如果关键字是'U12',我想找到包含'U12''h_ABC_U12.csv'的csv文件并打印出来。你知道吗

word = ['U12','U13','U14']
file_list = ['h_ABC_U12.csv','h_GGG_U13.csv','h_HVD_U14.csv','h_MMMB_U15.csv']

for x in range (len(word)):
    if word[x] in file_list:
       #print the file name

这是代码的一部分,但在某些搜索后无法继续。 我需要和这个词匹配的全名打印出来。你知道吗


Tags: 文件csvin列表文件名关键字listword
3条回答

试试这个-

for w in word:
     for file in file_list:
         if w in file:
             print file

您可以尝试使用列表理解:

word = ['U12','U13','U14']
file_list =['h_ABC_U12.csv','h_GGG_U13.csv','h_HVD_U14.csv','h_MMMB_U15.csv']

print [i for i in file_list for b in word if b in i]

我建议使用os.path.splitext来获取不带扩展名的文件名。你知道吗

>>> from os.path import splitext
>>> for f in file_list:
...     name = splitext(f)[0]
...     if any(name.endswith(tail) for tail in word):
...         print(name)
... 
h_ABC_U12
h_GGG_U13
h_HVD_U14

相关问题 更多 >