鱼C论坛

 找回密码
 立即注册
查看: 1124|回复: 5

[已解决]关于字典的一道简单问题,回答领鱼币哦~

[复制链接]
发表于 2017-11-13 13:35:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>>pets = {"米奇":"老鼠","汤姆":"猫","小白":"猪"}
>>>pets.update(小白="狗")
>>>pets
{'米奇': '老鼠', '汤姆': '猫', '小白': '狗'}


这样是对的。但是呢,接着往下看
>>>dict1={3: 'nihao', 5: 'nihaoma', 9: None}
>>> dict1.update(9="nihao")
SyntaxError: keyword can't be an expression

然后就报错了,,,不知道这个是为什么呢?还请大神们解答一下。
最佳答案
2017-11-13 14:00:46
Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里。

pets.update(小白="狗") 用对应的键更新值,在python里变量 没有以 数字或数字开头做为变量的;哪么就换种写法即可

所以dict1.update(9="nihao") 里的 9="nihao"其实是一个字典
正确的写法应该是
dict2={9:"nihao"}
dict1.update(dict2)
或dict1.update({9:"nihao"})


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-13 13:43:58 | 显示全部楼层

回帖奖励 +5 鱼币

这种方式不能将数字作为键的value进行修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-13 13:57:43 | 显示全部楼层

回帖奖励 +5 鱼币

这是用赋值表达式来给字典添加元素的,而赋值只能是给合法的变量名的,小白虽然是中文,但仍可以作为变量名,而9就不行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-13 14:00:46 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +5 鱼币

Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里。

pets.update(小白="狗") 用对应的键更新值,在python里变量 没有以 数字或数字开头做为变量的;哪么就换种写法即可

所以dict1.update(9="nihao") 里的 9="nihao"其实是一个字典
正确的写法应该是
dict2={9:"nihao"}
dict1.update(dict2)
或dict1.update({9:"nihao"})


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-11-13 14:11:50 | 显示全部楼层

回帖奖励 +5 鱼币

因为下面的例子,9是数值,不是字符,如果你统一把数字变成 ‘数字’(字符串形式)就可以了。字典的“键:值”对,键的定义最好还是用字符串,规则的东西就是这样,哈哈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-13 15:52:08 | 显示全部楼层

回帖奖励 +5 鱼币

感觉常量设为字典的‘键’ 很容易出错额
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 19:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表