|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
通过dict()函数中的关键字来创建字典:
- >>> d = dict(a = "97",b = "98",c = "99")
- >>> d
- {'a': '97', 'c': '99', 'b': '98'}
复制代码
但是如果key的值是数字的话为什么就会报错呢?
- >>> a = dict(1 = "97",2 = "98",3 = "99")
- SyntaxError: keyword can't be an expression
复制代码
翻译说是“语法错误:关键字不能是表达式”
上面的代码中关键字是1么?
如果是1的话为什么用别的方法创建就不会报错呢?
- >>> s = 1,2,3
- >>> a = dict.fromkeys(s)
- >>> a
- {1: None, 2: None, 3: None}
复制代码
- >>> dict1 = {1 : "97",2 : "98",3 : "99"}
- >>> dict1
- {1: '97', 2: '98', 3: '99'}
复制代码
- dict3 = dict(((1,"97"),(2,"98"),(3,"99")))
- >>> dict3
- {1: '97', 2: '98', 3: '99'}
复制代码
这个问题很有趣啊
首先回答你,数字当然能作关键字
其次,回答为什么key的值是数字的话就会报错。你要思考一下'='是什么?
=是赋值运算符。
d = dict(a = "97",b = "98",c = "99")的原理是将名字与名字对应的值分别分配为键与值。
那么请问,1能使名字吗?你还记得起名字的要求吗?
|
|