Tom学编程 发表于 2020-8-20 09:20:45

字典创建问题

为什么第一种会报错?
>>> dict1=dict(1='maths',2='english')
SyntaxError: keyword can't be an expression
>>> dict2=dict(a='maths',b='english')
>>> dict2
{'a': 'maths', 'b': 'english'}
>>> dict3=dict(((1,'maths'),(2,'english')))
>>> dict3
{1: 'maths', 2: 'english'}

zltzlt 发表于 2020-8-20 09:21:02

因为关键字参数不能以数字开头。

tttxiaoz 发表于 2020-8-20 09:27:56

keyword can't be an expression 关键字不能作为表达式标识符是以字母和下划线开头的

sunrise085 发表于 2020-8-20 10:30:58

二楼说的不太正确。

创建字典有多种方式

关键字参数创建:dict(key1=value1,key2=value2)
直接赋值创建:dict(key1:value1,key2:value2)
这种方式创建字典的时候,key不能是表达式,数字其实也算一种表达式
例如你的dict1和dict2的创建,dict1的创建时,key为数字,报错,dict2创建是就没报错

二元组列表/元组创建:dict(list)或者dict(tuple)
这种方式创建字典的时候,key可以是表达式
例如你的dict3的创建
页: [1]
查看完整版本: 字典创建问题