执行以下操作时出现“不可散列”错误:
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%”的值,但我不能插入百分号。我应该怎么做?
执行以下操作时出现“不可散列”错误:
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%”的值,但我不能插入百分号。我应该怎么做?
您可以在字典键中使用 % 字符,但是您分配的值是错误的。
>>> my_dict = {}
>>> my_dict['wer'] = 'table.%maker%'
>>> my_dict
{'wer': 'table.%maker%'}
您可以将符号与 : 一起使用,如下所示:
>>> my_dict = {'wer': 'table.%maker%'}
>>> my_dict
{'wer': 'table.%maker%'}
Python 有一个很棒的文档,它在这里描述了如何使用数据结构。
使用它来将值分配给“wer”键:
a["wer"] = "table.%%maker%%"
您可以在字典的构造(init)期间设置值:
a = {"wer":"table.%%maker%%"}
或者在构造字典之后,使用下标运算符:
a = {}
a["wer"] = "table.%%maker%%"