3

簡単な質問があります。

私は辞書を持っています: 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)

2 つの唯一の違いは、"book" の後ろのコンマです。このコンマは何をし、なぜそれが必要なのですか?

ありがとう!

4

4 に答える 4

4

タプルにするにはコンマを追加する必要があります。それ以外の場合は単なる文字列です。

于 2012-12-27T09:34:49.247 に答える