在Python中添加字典项时逗号的作用

2024-05-19 23:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的问题。在

我有一个字典:table = collections.defaultdict(set),还有一个先前定义的语法,它由以下规则组成:

Rule(('Noun', ('money',)))
Rule(('Noun', ('book',)))
Rule(('S', ('book',)))

现在,当我输入这个时,什么都没有发生。在

^{pr2}$

当我键入此项时,将添加条目。在

for rule in grammar:
    if rule.symbols == ("book",):
        table[col - 1, col].add(rule.head)

两者之间唯一的区别是“book”后面的逗号。这个逗号有什么用?为什么有必要?在

谢谢!在


Tags: 字典定义规则table语法colrulecollections
3条回答

一个是字符串,第二个是元组(,):

>>> ("book")
'book'
>>> ("book",)
('book',)

在第一种情况下,("book")parens只是将表达式分组的一种方式。该表达式的值就是字符串"book"。在

在第二种情况下,它创建一个元组,其中包含一个元素。在

您需要添加逗号使其成为元组,否则它只是一个字符串。在

相关问题 更多 >