yzs193728 发表于 2023-3-18 20:16:15

字典建立方法问题求助

本帖最后由 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却不行呢?

sfqxx 发表于 2023-3-18 20:27:09

因为用()命名时不能以数字开头

傻眼貓咪 发表于 2023-3-18 20:27:16

b = dict(吕布 = "口口布", 关羽 = "关习习", 刘备 = "刘baby")
c = {99: "吕布", 90: "关羽", 60: "刘备"}

isdkz 发表于 2023-3-18 20:27:49

b 能够成功创建为字典的原因是其键是有效的标识符,也就是遵循 Python 中变量命名的规则。

然而,在 c 中,键不是有效的标识符,因为它们以数字开头。在 Python 中,变量名不能以数字开头,参数的名字也一样,而且参数也不能用字符字面量,这就是为什么会出现语法错误的原因。

所以如果键是数字,或者不符合变量命名规则,就不能用关键字传参的方式来调用 dict

可以换别的方式,比如以下几种方式:

c = dict([(99,"吕布"), (90, "关羽"), (60, "刘备")])
c = dict(zip((99, 90, 60), ("吕布", "关羽", "刘备")))
c = {99: "吕布", 90: "关羽", 60: "刘备"}

傻眼貓咪 发表于 2023-3-18 20:28:44

sfqxx 发表于 2023-3-18 20:27
因为用()命名时不能以数字开头

?
b = dict(吕布 = "口口布", 关羽 = "关习习", 刘备 = "刘baby")
c = {99: "吕布", 90: "关羽", 60: "刘备"}

print(c) # {99: '吕布', 90: '关羽', 60: '刘备'}

歌者文明清理员 发表于 2023-3-18 20:56:51

isdkz 发表于 2023-3-18 20:27
b 能够成功创建为字典的原因是其键是有效的标识符,也就是遵循 Python 中变量命名的规则。

然而,在 c...

c h a t g p t?

isdkz 发表于 2023-3-18 21:59:45

歌者文明清理员 发表于 2023-3-18 20:56
c h a t g p t?

c h a t g p t是啥{:10_256:}

wyhpylc 发表于 2023-3-18 22:15:02

isdkz 发表于 2023-3-18 20:27
b 能够成功创建为字典的原因是其键是有效的标识符,也就是遵循 Python 中变量命名的规则。

然而,在 c...

6,等别人下次提问,我就要用Newbing辣

isdkz 发表于 2023-3-18 22:24:40

本帖最后由 isdkz 于 2023-3-18 22:27 编辑

wyhpylc 发表于 2023-3-18 22:15
6,等别人下次提问,我就要用Newbing辣

现在新必应完全用不了,还没找到方法解决,而且新必应老是出错{:10_277:}

wyhpylc 发表于 2023-3-18 22:28:58

isdkz 发表于 2023-3-18 22:24
现在新必应完全用不了,还没找到方法解决,而且新必应老是出错

开VPN可以,代理不行,反正我是这样

wyhpylc 发表于 2023-3-18 22:43:14

isdkz 发表于 2023-3-18 22:24
现在新必应完全用不了,还没找到方法解决,而且新必应老是出错

isdkz 发表于 2023-3-18 22:45:06

wyhpylc 发表于 2023-3-18 22:43


看来现在是不能改 x-forwarded-for 了,改了就用不了

isdkz 发表于 2023-3-18 22:47:19

wyhpylc 发表于 2023-3-18 22:43


不过新必应的答案好像不是很准确

wyhpylc 发表于 2023-3-19 10:01:57

isdkz 发表于 2023-3-18 22:45
看来现在是不能改 x-forwarded-for 了,改了就用不了

是的

wyhpylc 发表于 2023-3-19 10:02:41

isdkz 发表于 2023-3-18 22:47
不过新必应的答案好像不是很准确

但是至少不花钱啊,而且更有人情味(说话有人情味)
页: [1]
查看完整版本: 字典建立方法问题求助