lbh8399 发表于 2023-2-5 20:48:36

关于python字典037讲课后作业

请问:为什么 这个创建方式是错的啊!!c = dict(99="吕布", 90="关羽", 60="刘备")

isdkz 发表于 2023-2-5 20:52:27

因为参数跟变量名的命名规则是一样的呀,99 不符合变量名的命名规则

所以当你字典的键是数字的时候就不能用这种方式创建字典

liuhongrun2022 发表于 2023-2-5 21:05:36

本帖最后由 liuhongrun2022 于 2023-2-5 21:35 编辑

命名时,不能以数字开头
变量也一样
(python 3.x 可以以中文命名)
>>> c = dict(吕布=99, 关羽=90, 刘备=60)
>>> c
{'吕布': 99, '关羽': 90, '刘备': 60}

sfqxx 发表于 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)
如果答案对您有帮助,请设置最佳答案!

lbh8399 发表于 2023-2-5 22:38:59

sfqxx 发表于 2023-2-5 21:11
命名参数时,不能以数字开头
错误:



谢谢!

lbh8399 发表于 2023-2-5 22:40:34

isdkz 发表于 2023-2-5 20:52
因为参数跟变量名的命名规则是一样的呀,99 不符合变量名的命名规则

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

是不是只有使用dict方法创建需要传参的时候,不能用数字,像这样a={'99'='吕布'}就是可以的

isdkz 发表于 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: '刘备'})就好

廿四桥 发表于 2023-2-5 23:14:13

学习了
页: [1]
查看完整版本: 关于python字典037讲课后作业