我正在创建一个字典对象,它是在我使用“语句 1”时创建的,但是我在尝试使用与“语句 2”相同的键和值创建字典对象时收到一条错误消息。
声明 1:
dmap = {0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu',
4: 'Fri', 5: 'Sat', 6: 'Sun'}
声明 2:
dmap = dict(0='Mon', 1='Tue', 2='Wed', 3='Thu',
4='Fri', 5='Sat', 6='Sun'
错误信息:
File "<stdin>", line 1
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
有人能告诉我,为什么允许我使用语句 1 而不是语句 2 创建带有整数键的字典?
编辑 使用声明 2 的更新版本,我可以使用以下代码创建字典对象:
dmap = dict(day_0='Mon', day_1='Tue', day_2='Wed',
day_3='Thu', day_4='Fri', day_5='Sat', day_6='Sun')
原文由 Deepak.K 发布,翻译遵循 CC BY-SA 4.0 许可协议
dict
是接受关键字参数的常规可调用对象。 根据 Python 语法,关键字参数的形式为identifier '=' expression
。 标识符不能以数字开头,数字文字除外。那个
dict
默认情况下会创建一个接受任意键的字典,不会改变调用的语法。