因此,我有很多类似以下内容的台词(作品):
VBD -> 'RATTLED'
PP -> CC PP|<PP-LOC-CC-PP>
LHS上总是有一个部分,然后是RHS上有一个箭头,然后是一个或两个部分。如何存储或调用它们?(例如,遍历所有行(生产)并检查LHS是VBD还是RHS是RATTLED(对于第一个模式)还是RHS0是CC且RHS1是PP-PP |(对于第二个模式))?
同样,生产中的模式始终遵循以下其中一项:
A -> 'B'
或者
C -> D E
A,B,C,D和E可以是任何数字(数字,字母,符号等)
如果您想要将每一行拆分为一个头部(例如VBD
)和一条尾部(例如'RATTLED'
),那么一种简单的方法是split
像这样使用运算符:
for line in lines:
split_line = line.split(" -> ")
head = split_line[0]
tail = split_line[1]
假设每行只有一个“->”项,并且每行在“->”分隔符的每一侧都有一个空格。
我不确定我是否了解您的实现的细节,但是如果您想检查给定的尾巴是喜欢'RATTLED'
还是喜欢CC PP|<PP-LOC-CC-PP>
,可以像这样遍历尾巴:
for token in tail:
if token[0] == "'":
# this is a string, like 'B'
else:
# this is like D E etc.
two_part_style_split = token.split(' ')
two_part_style_split
看起来像这样:
['CC', 'PP<PP-LOC-CC-PP>']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句