元组元素的元组列表?

lists of tuples by a tuple element?

我在匹配词性 pos 模式时遇到问题。 我们有NN + IN + NN、VBG + IN + NN 或ADJ + IN + NN 等介词短语模式规则。

想法是从任何给定的句子中提取模式并与上面定义的规则进行匹配,如果匹配则 return 正确。

从句子中提取的示例: sent_pos = [('increasing', 'VBG'), ('of', 'IN'), ('mutation', 'NN')] 匹配 rules1 = [('', 'VBG'), ('', 'IN'), ('', 'NN')] 或者 rule2 = [('', 'NN'), ('', 'IN'), ('', 'NN')] 或者 [('', 'ADJ'), ('', 'IN'), ('', 'NN')]

结果return正确。

在 python 代码中可以吗?

感谢您的回复。

我不太确定这是否是您要查找的内容,因为我不知道规则 1、规则 2 和规则 3 中模式的顺序是否始终相同,但试试这个:

def function():

   sent_pos = [('increasing', 'VBG'), ('of', 'IN'), ('mutation', 'NN')]
   rule1 = [('', 'VBG'), ('', 'IN'), ('', 'NN')]
   rule2 = [('', 'NN'), ('', 'IN'), ('', 'NN')]
   rule3 = [('', 'ADJ'), ('', 'IN'), ('', 'NN')]

   rules = [rule1, rule2, rule3]

   for element in rules:
        counter = 0
        for i in range(len(sent_pos)):
            if sent_pos[i][1] == element[i][1]:
                counter += 1
        if counter == len(sent_pos):
            return True
   return False