字典创建问题
为什么第一种会报错?>>> 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'}
因为关键字参数不能以数字开头。 keyword can't be an expression 关键字不能作为表达式标识符是以字母和下划线开头的 二楼说的不太正确。
创建字典有多种方式
关键字参数创建:dict(key1=value1,key2=value2)
直接赋值创建:dict(key1:value1,key2:value2)
这种方式创建字典的时候,key不能是表达式,数字其实也算一种表达式
例如你的dict1和dict2的创建,dict1的创建时,key为数字,报错,dict2创建是就没报错
二元组列表/元组创建:dict(list)或者dict(tuple)
这种方式创建字典的时候,key可以是表达式
例如你的dict3的创建
页:
[1]