我有一个简单的问题.
我有一个字典:table = collections.defaultdict(set),以及之前定义的语法,包括如下规则:
Rule(('Noun', ('money',)))
Rule(('Noun', ('book',)))
Rule(('S', ('book',)))
现在,当我输入时,没有任何反应.
for rule in grammar:
if rule.symbols == ("book"):
table[col - 1, col].add(rule.head)
当我输入此内容时,会添加该条目.
for rule in grammar:
if rule.symbols == ("book",):
table[col - 1, col].add(rule.head)
两者之间的唯一区别是“书”背后的逗号.这个逗号做了什么,为什么有必要?
谢谢!
在第一种情况下,(“书”)parens只是一种分组表达的方式.该表达式的值只是字符串“book”.
在第二种情况下,它创建了一个元组,其中包含一个元素.