|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 yzs193728 于 2023-3-18 20:17 编辑
b = dict(吕布="口口布", 关羽="关习习", 刘备="刘baby")
c = dict(99="吕布", 90="关羽", 60="刘备")
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
c = dict('99'="吕布", '90'="关羽", '60'="刘备")
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
#为何字典b能成功建立,c却不行呢?
b 能够成功创建为字典的原因是其键是有效的标识符,也就是遵循 Python 中变量命名的规则。
然而,在 c 中,键不是有效的标识符,因为它们以数字开头。在 Python 中,变量名不能以数字开头,参数的名字也一样,而且参数也不能用字符字面量,这就是为什么会出现语法错误的原因。
所以如果键是数字,或者不符合变量命名规则,就不能用关键字传参的方式来调用 dict
可以换别的方式,比如以下几种方式:
- c = dict([(99,"吕布"), (90, "关羽"), (60, "刘备")])
- c = dict(zip((99, 90, 60), ("吕布", "关羽", "刘备")))
- c = {99: "吕布", 90: "关羽", 60: "刘备"}
复制代码
|
|