0

执行以下操作时出现“不可散列”错误:

a = {}
a["wer":"table.%%maker%%"]

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    a["wer":"table.%%maker%%"]
TypeError: unhashable type

“wer”键在这里应该有“table.%maker%”的值,但我不能插入百分号。我应该怎么做?

4

3 回答 3

8

您可以在字典键中使用 % 字符,但是您分配的值是错误的。

>>> my_dict = {} 
>>> my_dict['wer'] = 'table.%maker%'
>>> my_dict
{'wer': 'table.%maker%'}

您可以将符号与 : 一起使用,如下所示:

>>> my_dict = {'wer': 'table.%maker%'}
>>> my_dict
{'wer': 'table.%maker%'}

Python 有一个很棒的文档,它在这里描述了如何使用数据结构。

于 2012-08-30T10:21:19.177 回答
1

使用它来将值分配给“wer”键:

a["wer"] = "table.%%maker%%"
于 2012-08-30T10:23:27.573 回答
1

您可以在字典的构造(init)期间设置值:

a = {"wer":"table.%%maker%%"}

或者在构造字典之后,使用下标运算符:

a = {}
a["wer"] = "table.%%maker%%"
于 2012-08-30T10:25:10.130 回答