鱼C论坛

 找回密码
 立即注册
查看: 1130|回复: 3

[已解决]字典创建问题

[复制链接]
发表于 2020-8-20 09:20:45 | 显示全部楼层 |阅读模式

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

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

x
为什么第一种会报错?
>>> dict1=dict(1='maths',2='english')
SyntaxError: keyword can't be an expression
>>> dict2=dict(a='maths',b='english')
>>> dict2
{'a': 'maths', 'b': 'english'}
>>> dict3=dict(((1,'maths'),(2,'english')))
>>> dict3
{1: 'maths', 2: 'english'}

最佳答案
2020-8-20 09:21:02
因为关键字参数不能以数字开头。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-20 09:21:02 | 显示全部楼层    本楼为最佳答案   
因为关键字参数不能以数字开头。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 09:27:56 | 显示全部楼层
keyword can't be an expression 关键字不能作为表达式  标识符是以字母和下划线开头的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 10:30:58 | 显示全部楼层
二楼说的不太正确。

创建字典有多种方式

关键字参数创建:dict(key1=value1,key2=value2)
直接赋值创建:dict(key1:value1,key2:value2)
这种方式创建字典的时候,key不能是表达式,数字其实也算一种表达式
例如你的dict1和dict2的创建,dict1的创建时,key为数字,报错,dict2创建是就没报错

二元组列表/元组创建:dict(list)或者dict(tuple)
这种方式创建字典的时候,key可以是表达式
例如你的dict3的创建
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 08:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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