| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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能使名字吗?你还记得起名字的要求吗? 
 
 
 
 |   
 
 
 
 |