我有一组许多简单的 globbing 模式和整个单词,如下所示:
s = set(['ALE', 'BREAD*', 'BREAKFAST*', 'BROTH' ...])
我也是一大串词。我想检查此列表中的每个单词是否与 a) 集合中的通配模式或 b) 集合中的单词匹配。
如果没有 globbing 模式,我会做类似的事情:
for word in words:
if word in s:
# do something
但是由于该集合也包含通配符模式,如果我想将“BREADY”匹配到“BREAD*”,它将找不到匹配项
我能想到的唯一方法是使用嵌套的 for 循环将每个单词与集合中的每个模式进行比较。有没有一种方法可以检查每个单词在集合中是否有匹配项,而无需将其与集合中的每个元素进行比较?