鱼C论坛

 找回密码
 立即注册
查看: 3095|回复: 7

[已解决]关于python字典037讲课后作业

[复制链接]
发表于 2023-2-5 20:48:36 | 显示全部楼层 |阅读模式

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

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

x
请问:为什么 这个创建方式是错的啊!!c = dict(99="吕布", 90="关羽", 60="刘备")
最佳答案
2023-2-5 21:11:42
本帖最后由 sfqxx 于 2023-2-5 21:18 编辑

命名参数时,不能以数字开头
错误:
25j_hh
23book
68-gfcj
……
正确:
小甲鱼
teacher
刘备
shh_285

这里提供一种思路:
c = dict(吕布=99, 关羽=90, 刘备=60)
当然也可以:
c = dict(a=99, b=90,d=60)
如果答案对您有帮助,请设置最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-5 20:52:27 | 显示全部楼层
因为参数跟变量名的命名规则是一样的呀,99 不符合变量名的命名规则

所以当你字典的键是数字的时候就不能用这种方式创建字典
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-5 21:05:36 | 显示全部楼层
本帖最后由 liuhongrun2022 于 2023-2-5 21:35 编辑

命名时,不能以数字开头
变量也一样
(python 3.x 可以以中文命名)
>>> c = dict(吕布=99, 关羽=90, 刘备=60)
>>> c
{'吕布': 99, '关羽': 90, '刘备': 60}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-5 21:11:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sfqxx 于 2023-2-5 21:18 编辑

命名参数时,不能以数字开头
错误:
25j_hh
23book
68-gfcj
……
正确:
小甲鱼
teacher
刘备
shh_285

这里提供一种思路:
c = dict(吕布=99, 关羽=90, 刘备=60)
当然也可以:
c = dict(a=99, b=90,d=60)
如果答案对您有帮助,请设置最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-2-5 22:38:59 | 显示全部楼层
sfqxx 发表于 2023-2-5 21:11
命名参数时,不能以数字开头
错误:

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

使用道具 举报

 楼主| 发表于 2023-2-5 22:40:34 | 显示全部楼层
isdkz 发表于 2023-2-5 20:52
因为参数跟变量名的命名规则是一样的呀,99 不符合变量名的命名规则

所以当你字典的键是数字的时候就不 ...

是不是只有使用dict方法创建需要传参的时候,不能用数字,像这样a={'99'='吕布'}就是可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-5 22:46:06 | 显示全部楼层
本帖最后由 isdkz 于 2023-2-5 22:47 编辑
lbh8399 发表于 2023-2-5 22:40
是不是只有使用dict方法创建需要传参的时候,不能用数字,像这样a={'99'='吕布'}就是可以的


并没有 a={'99'='吕布'} 这种写法,你要用数字做字典的键的话就用下面两种方式:

>>> c = dict(((99, "吕布"), (90, "关羽"), (60, "刘备")))
>>> c
{99: '吕布', 90: '关羽', 60: '刘备'}
>>> c = {99: '吕布', 90: '关羽', 60: '刘备'}
>>> c
{99: '吕布', 90: '关羽', 60: '刘备'}
>>>


当然, c = dict(((99, "吕布"), (90, "关羽"), (60, "刘备"))) 这种方式有很多变种,比如:
>>> c = dict(zip((99, 90, 60), ("吕布", "关羽", "刘备")))
>>> c
{99: '吕布', 90: '关羽', 60: '刘备'}
>>>


这些了解一下就好,暂时不能理解也没有关系,就记住常用的一种方式(c = {99: '吕布', 90: '关羽', 60: '刘备'})就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-5 23:14:13 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 09:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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