Python nltk.lhs()在比较字符串时出现问题
分配Python nltk.lhs()在比较字符串时出现问题,python,nltk,Python,Nltk,分配string=i.lhs()其值时,然后与 print(var=='P')在var为'P'时返回false for i in grammar.productions(): var = i.lhs() P = "P" if (not i.is_nonlexical()): print var print (var == P) 它在任何情况下都返回false。我不明白为什么每件事都会返回false。有什么提示吗?您不能将lhs()-对象
string=i.lhs()
其值时,然后与
print(var=='P')
在var
为'P'
时返回false
for i in grammar.productions():
var = i.lhs()
P = "P"
if (not i.is_nonlexical()):
print var
print (var == P)
它在任何情况下都返回false。我不明白为什么每件事都会返回false。有什么提示吗?您不能将lhs()-对象与字符串进行比较,但可以使用.lhs()。\uuu str\uuu()
获取对象的字符串表示形式,并将其与另一个字符串进行比较,如下所示:
for i in grammar.productions() :
var = i.lhs()
P = "P"
if (not i.is_nonlexical()) :
print var
print (var.__str__() == P)
此外,您可以使用is_lexical()
而不是询问它是否是非词法的